A maneira de responder isso é ler o código-fonte:
- O FreeBSD
ls
usa a opção-h
em alguns lugares. Ele faz isso primeiro quando precisa de estatísticas para um arquivo . -
Precisa de estatísticas ao fazer um "longform" (
-l
), inode (-i
) ou tamanho (-s
), para calcular a largura do maior número. -
Se nenhuma dessas opções estiver definida , não use a opção
-h
. - Combina o
-h
com-i
e / ou-s
ao fazer uma listagem longa (-l
) , especificamente quando imprime tamanhos . Caso contrário, é ignorado.
Nenhum erro será reportado se -h
for fornecido sem nenhuma dessas opções.
O FreeBSD adicionou a opção em 2001 , bem antes da (muito antiga) userland no OSX . As páginas de manual do FreeBSD e OSX possuem descrições idênticas de -h
(e "ls -lh" funciona para ambos). Mas nesse ponto, só funcionou com -l
:
Add a new flag,
-h
which when combined with the-l
option causes file sizes to be displayed with unit suffixes; Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less.