Uso: ./simpledu dir flag1 flag2
Flag | Alternativa | Descrição |
---|---|---|
-a | --all | - mostra também files |
-b | --bytes | - apresenta nº de bytes em vez de blocos |
-B [SIZE] | --block-size=SIZE | - contabiliza multiplas vezes o mesmo ficheiro |
-l | --count-links | - define o tamanho dos blocos |
-L | --dereference | - segue links simbolicos |
-S | --separate-dirs | - não inclui o tamanho dos subdirs |
--max-depth=N | - limita a informação exibida a N (0,1, …) níveis de profundidade de diretórios. |
- Apresenta diretórios e ficheiros
- Apresentação em números de bytes ou número de blocos
- Definição do tamanho default dos blocos
- Preferência para contabilização múltipla de ficheiros
- Apresentação de forma cumulativa do tamanho de subdiretórios e ficheiros incluídos
- Não restringe os niveis de profundidade na estrutura de diretórios
- Aceita flags repetidas tal como du
- Geração de registos de execução
- Comunicação entre processos via pipes
- CTRL+C explicado em baixo
- Foi usado Forks + Recursividade
- Durante os testes, usando "~/" como dir, ao premir CTRL+C o programa demora um bocado a pausar todos os processos filhos (depende do computador) e com isso apresenta a mensagem indicativa de pausa e as opções disponiveis no meio da listagem do programa. Fazendo com que quando a listagem é pausada, o programa espera o input de "Y" ou "N" sem texto indicativo.
- Em du: tendo -b -B SIZE, dará o output em block sizes e não em bytes. No simpledu, com as mesmas flags dará output em bytes. Isto é intencional para que o display de bytes seja sempre ativado (ou não) tendo em conta a presença da flag -b e não a ordem das flags -b e -B.