df -h и df -kh?

* не будет помещаться внутри кавычек. Вам нужно написать это так:

#!/bin/bash

for file in "/home/test/"*; do
  echo  test
done

3.1.2 Цитирование

-2
06.12.2020, 00:41
2 ответа

Фактически нет никакой разницы.

Опция -hдля dfвыбирает «удобочитаемый» вывод, что означает, что размеры вещей будут масштабироваться до соответствующих величин, чтобы получить приятные маленькие удобочитаемые значения, такие как 2,1G или 806M.

Опция -kделает нечто подобное, но масштабирует размеры только до килобайт, так что вы получите, например. 2165680 и 824550 вместо 2.1G и 806M.

Поскольку эти параметры конфликтуют друг с другом (, вы не можете одновременно указывать размеры в килобайтах и ​​в «удобочитаемом» формате ), последний из указанных параметров будет «выигрывать». Комбинация этих опций, которую вы используете, -kh(, которая совпадает с -k -h), означает, что вы получите эффект от использования только -h. Таким образом, нет никакой разницы между df -hи df -kh.

Сравните это поведение с конфликтующими параметрами с другими утилитами, такими как -C,-1("минус один" )и параметр-l("минус элл" )для ls. и что произойдет, если вы используете все в том или ином порядке.

5
18.03.2021, 22:45

df -kh возможно немного медленнее, чем df -h. Вы, вероятно, не сможете его измерить, но анализ его аргументов займет немного больше времени.

Для тех, кто умеет программировать на языках, где переменные изменяемы (C, python, bash,... ), то примерно так.

set mode to k
set mode to h
do everything else

против

set mode to h
do everything else

К тому времени, когда программа достигает do everything else, режим устанавливается на h.

-1
18.03.2021, 22:45

Теги

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