Чому потрібен `- людський читабель '' і не є типовим?


56

Кілька інструментів командного рядка використовують -hабо --human-readableопцію для друку розміру файлу у читаному для людини форматі (тобто 36Gvs 37550836).

  • Чому ця опція потрібна, а не за замовчуванням?
  • Чи не ці інструменти в основному для виробництва людей?

Відповіді:


75
  1. Тому що вони не існували спочатку, а поведінка за замовчуванням сумісна назад. Крім того, оскільки вони не існують у всіх варіантах unix, а поведінка за замовчуванням сумісна з іншими варіантами unix.
  2. Для багатьох інструментів, оскільки вони призначені для аналізу з іншими інструментами. Це рідко трапляється ls, але аналіз результатів duабо dfпорівняно поширений. (Майте на увазі, бо dfви повинні використовувати df -Pпід час розбору.)
  3. Оскільки деякі люди віддають перевагу формату 37550836, тому що коли ви бачите купу таких чисел, їх відносний розмір візуально чіткий (кількість цифр).

22
Особливо 3), коли я передаю висновок прямо через, sort -nтому що мені менш цікаво швидко бачити приблизний розмір кожної директорії та інше, в якому підкаталог займає непропорційно занадто багато місця ...
Шадур,

8
@Shadur Ах, але сорт -hтеж бере !
quodlibetor

3
Я думаю, що 2 (наприклад, для сценаріїв) є основною причиною.
sml

@quodlibetor Що таке ОС / дистрибутив? kubuntu lucid sort не приймає -h, і я не бачу еквівалента.
Джо

7
@ user23861 sort -hбуло введено в GNU coreutils 7.5. У Lucid є 7,4, тому для Ubuntu вам потрібно щонайменше maverick.
Жил 'SO- перестань бути злим'

13

Зауважте, що якщо ви встановите BLOCKSIZE = читабельний для людини у вашому оточенні, це буде типовим умовою, принаймні для команд GNU coreutils, тобто якщо ви використовуєте bash put:

export BLOCKSIZE=human-readable

у вашому файлі $ HOME / .bashrc.


2
Схоже, це BLOCKSIZE=hможе бути достатньо. Але чудова порада!
Мікель

В документи свідчать BLOCK_SIZE=human-readable. Також не знав про підтримку тисяч роздільників, поки я не прочитав це.
Мікель

Схоже, це не працює на OSX
James Lin

@jameslin: це може бути специфічна змінна GNU coreutils. Ви можете створити псевдонім ...
Тор

6

Окрім сказаного Жилла:

Коли цих інструментів, де винайшли hdd, було дуже мало, порівняно з сьогоднішніми. Вам не потрібна допомога, щоб прочитати число, наприклад 400000.

І якщо вам це не подобається, використовуйте систему псевдонімів. У вашому домашньому каталозі

edit ~/.bashrc 

і вставити, наприклад:

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

Зауважте, що на відміну від багатьох інших мов, вам не дозволяється мати порожній перед оператором призначення або за ним (знак рівності).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.