A maneira de responder isso é ler o código-fonte:
- O FreeBSD
lsusa a opção-hem 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
-hcom-ie / ou-sao 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,
-hwhich when combined with the-loption 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.