Por que o `--human-readable` é necessário e não o padrão?


56

Várias ferramentas de linha de comando usam a opção -hou --human-readablepara imprimir o tamanho do arquivo em um formato legível por humanos (por exemplo, 36Gvs 37550836).

  • Por que essa opção é necessária e não a padrão?
  • Essas ferramentas não são principalmente para produção para seres humanos?

Respostas:


75
  1. Porque eles não existiam originalmente e o comportamento padrão é compatível com versões anteriores. Além disso, porque eles não existem em todas as variantes unix e o comportamento padrão é compatível com outras variantes unix.
  2. Para muitas ferramentas, porque elas devem ser analisadas por outras ferramentas. Isso raramente é o caso ls, mas analisar a saída duou dfé relativamente comum. (Lembre-se, dfvocê deve usar df -Pao analisar.)
  3. Como alguns humanos preferem o formato 37550836, porque quando você vê vários desses números, o tamanho relativo deles é visualmente claro (número de dígitos).

22
Especialmente 3) quando eu canalizar a saída em linha reta através dentro sort -nporque eu estou menos interessado em ver rapidamente o tamanho bruto de cada diretório e mais em que subdiretório está ocupando desproporcionalmente muito espaço ...
Shadur

8
@ Shahad Ah, mas tipo leva um -htambém!
quodlibetor

3
Eu acho que 2 (por exemplo, para scripts) é o principal motivo.
SML

@quodlibetor O que OS / distribuição? A classificação lucid do kubuntu não aceita -h e não vejo equivalente.
18711 Joe

7
O @ user23861 sort -hfoi introduzido no GNU coreutils 7.5. O Lucid tem 7.4, então no Ubuntu você precisa pelo menos independente.
Gilles 'SO- stop be evil'

13

Observe que se você definir BLOCKSIZE = legível por humanos em seu ambiente, este será o padrão, pelo menos para os comandos do GNU coreutils, ou seja, se você estiver usando o bash put:

export BLOCKSIZE=human-readable

no seu arquivo $ HOME / .bashrc.


2
Parece que BLOCKSIZE=hpode ser suficiente. Mas ótima dica!
11262 Mikel

Os documentos sugerem BLOCK_SIZE=human-readable. Também não sabia sobre o suporte a milhares de separadores até que eu li isso.
Mikel

Parece não funcionar no OSX
James Lin

@ jameslin: pode ser uma variável específica do coreUtil GNU. Você poderia criar um apelido ...
Thor

6

Ao lado do que Gilles disse:

Quando essas ferramentas onde inventou o disco rígido era muito pequeno, em comparação com hoje. Você não precisou de ajuda para ler um número como 400000.

E se você não gostar, use o sistema de alias. No seu diretório pessoal,

edit ~/.bashrc 

e insira, por exemplo:

alias df='df -h'
alias du='du -h'

Observe que, ao contrário de muitos outros idiomas, você não pode deixar um espaço em branco antes ou atrás do operador de atribuição (sinal de igual).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.