Терминал df команда

Терминал Mac df команда является инструментом, который я использую для получения дискового пространства. Например, прежде чем я получаю новое программное обеспечение или обновление, я также обращаю внимание на свое пространство HD прежде и после установки.

Я помню, что использовал эту команду с-b,-k,-m или-g опциями получить размер в 512 блоках байтов, килобайтах, мегабайтах или гигабайтах. По словам человека (ручное описание) df, те опции могут изменить BLOCKSIZE также так, чтобы, если я использую "df-h" или "df-H" впоследствии, результатом был размер или в двоичном основании или в десятичной основе. Я помню, что попробовал это прежде, и это хорошо работало.

Недавно, я пытаюсь использовать "df-b" для сброса BLOCKSIZE. Я затем пробую "df-h" или "df-H" снова, я получаю значения размера все как гигабайты (двоичный файл или десятичное число), не ожидаемый в 512 байтах. Затем я пытаюсь использовать "df-hb" или "df-Hb", значения результата - тот же (512 блоков байтов).

Вот некоторые примеры, которые я имел прежде:

$ df -k          # this command I get the expected result: 1024-block
Filesystem     512-blocks       Used     Available ...
/dev/disk1s2    97101344    403566296    572023048 ...
....

$ df -h         # the result in binary base, value in 1024-block
Filesystem     1024-blocks       Used      Avail ...
/dev/disk1s2    97101344    403566296  572023048 ...
....

$ df -H         # the result in decimal base, value in 1,000 base
Filesystem     Size         Used     Avail ...
/dev/disk1s2 99431776  413251887 585751601 ...
....

Как вышеупомянутый пример, "df-k" сбрасывает BLOSKSIZE к килобайтам. Однако теперь я повторяю эти те же команды, но я не могу получить те же результаты:

$ df -k          # this command I get the expected result: 1024-block
Filesystem     512-blocks       Used         Avail ...
/dev/disk1s2    97101344    403566296    572023048 ...
...

$ df -h         # the result in binary base but values in Gigabytes
Filesystem     Size    Used  Avail ...
/dev/disk1s2   465Gi  192Gi  273Gi ...
....

$ df -H         # the result in decimal base by values in Gigabytes
Filesystem     Size    Used  Avail ...
/dev/disk1s2   500G    207G   293G ...
....

Я не уверен, что предотвращает значение BLOCKSIZE, не сбрасываемое. В результате я не могу получить размер в десятичной основе (1000 для Килобайтов в десятичной основе, 1,000,000 для Мегабайтов в десятичной основе...).

Между прочим, я получаю информацию об использовании df и BLOCKSIZE от:

$ man df
1
задан 10.10.2009, 01:01

2 ответа

Я думаю Ваша память того, как команда раньше работала, является неправильным; df никогда не изменялся BLOCKSIZE, только переопределенный это временно. На самом деле это не может измениться BLOCKSIZE для чего-либо кроме себя - если Вы работаете df 3 раза каждый экземпляр получает свою собственную копию среды Вашей оболочки, и может изменить его собственную копию, но ничего не может сделать к среде оболочки (или другие экземпляры ни один).

Тем не менее я думаю единственный способ получить поведение, которое Вы хотите, должен на самом деле измениться BLOCKSIZE в среде оболочки:

export BLOCKSIZE=1000000   # Base-10 Megabytes
df   # No flags, so it uses the inherited BLOCKSIZE

Обратите внимание, что этот способ сделать вещи дает персистентное поведение, которое Вы описываете; после установки BLOCKSIZE для родительской оболочки это передается всем командам, которые Вы выполняете в той оболочке от той точки на (пока/если Вы не изменяете его снова). Если Вы только хотите изменить его для конкретной команды, используйте это вместо этого:

BLOCKSIZE=1000000 df   # Displays in base-10 Megabytes
df   # Displays in the default format
1
ответ дан 17.12.2019, 01:00

Это должно использовать 512-байтовые блоки по умолчанию:

df -P

При использовании человекочитаемого формата, когда-то показанная сумма достаточно для следующего измерения, которое это отобразит в том (например, 1024M-> 1G)

0
ответ дан 17.12.2019, 01:00
  • 1
    как насчет размера оценивает в десятичной основе? Эта опция только перечисляет размер в двоичном основании – David.Chu.ca 25.09.2009, 07:48
  • 2
    , я думаю это - блок.. комментарий, право. Это должен быть #...? – David.Chu.ca 25.09.2009, 07:50
  • 3
    Посмотрите мой вопрос, на самом деле, результат "df-h" значения списков в Gi в моем Mac. – David.Chu.ca 25.09.2009, 07:51
  • 4
    BSD df всегда смущает меня. df -P -H кажется ближе к тому, что Вы ищете.-P указывает 512-байтовые блоки по умолчанию, и-H человекочитаем для основы 10 размеров. – John T 25.09.2009, 08:00
  • 5
    Поскольку я упомянул, что,-H действительно отображает значения в единице G вместо значения по умолчанию 512 байтов.-P действительно отображает значения в с 512 блоками. Однако как насчет k или m единиц в десятичной основе? Я думаю так или иначе, df-k, или-m не перезаписывает BLOCKSIZE в моем Mac больше. Поэтому я не могу использовать-H для получения значений в десятичной основе в k или m единице. – David.Chu.ca 25.09.2009, 08:06

Теги

Похожие вопросы