du Command в LINUX

Опубликовано: 16 Февраля, 2022

При работе с LINUX может возникнуть ситуация, когда вы захотите передать набор файлов или весь каталог. В таком случае вам может потребоваться узнать, сколько дискового пространства занято этим конкретным каталогом или набором файлов. Поскольку вы имеете дело с LINUX, для этого также существует утилита командной строки, которая является командой du, которая оценивает и отображает дисковое пространство, используемое файлами.

Итак, простыми словами, утилита командной строки du поможет вам узнать, как используется диск для набора файлов или каталога.

Вот синтаксис команды du:

// синтаксис команды du

du [ВАРИАНТ] ... [ФАЙЛ] ...
       или
du [ВАРИАНТ] ... --files0-from = F

где ОПЦИЯ относится к параметрам, совместимым с командой du, а ФАЙЛ относится к имени файла, для которого вы хотите узнать занимаемое дисковое пространство.

Использование команды du

Предположим, есть два файла, например, kt.txt и pt.txt, и вы хотите знать использование диска этими файлами, тогда вы можете просто использовать команду du , указав имена файлов вместе с ней как:

// используя команду du

$ du kt.txt pt.txt
8 тыс. Txt
4 pt.txt

/ * первый столбец 
отобразил файл
использование диска * /

Итак, как показано выше, du отображает дисковое пространство, используемое соответствующими файлами.

Теперь отображаемые значения фактически представлены в единицах измерения первого доступного SIZE из - -block- size и переменных среды DU_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE, и если не в этом формате, то единицы измерения по умолчанию равны 1024 байтам (или 512, если POSIXLY_CORRECT равен установленный).

Не запутайтесь из-за вышеприведенного абзаца. Мы можем просто использовать опцию -h, чтобы заставить du выводить результат в удобочитаемом формате.

Параметры для команды du

  • -a, - -all option: эта опция производит подсчеты как вывод для всех файлов, а не только для каталогов.
  • - Параметр -apparent-size: выводит видимые размеры файлов, а не использование диска, которое может быть больше из-за дыр в файлах (разреженных), внутренней фрагментации и непрямых блоков, но на самом деле видимый размер меньше.
  • -c, - -total option: отображает общую сумму.
  • -B, - -block-size = SIZE параметр: этот параметр вызывает масштабирование размера на РАЗМЕР, например -BM печатает размер в мегабайтах.
  • Опция -b, - -bytes: эта опция эквивалентна - -apparent-size - -block-size = 1 .
  • Параметр -D, - -dereference-args: этот параметр используется для разыменования только символических ссылок, перечисленных в командной строке.
  • Параметр -H: этот параметр эквивалентен указанному выше параметру -D.
  • Параметр - -files0-from = F: используется для суммирования использования диска именами файлов с завершающим нулем, указанными в файле F, и если файл F имеет значение «-», то считывать имена из стандартного ввода.
  • -h, - -human-readable опция: печатает размеры в удобочитаемом формате, то есть с округлением значений и с использованием сокращений, таких как 1 K, и это наиболее часто используемый вариант с du.
  • - Параметр -si: он очень похож на параметр -h, но использует степень 1000, а не 1024.
  • Параметр -k: эквивалент - -block-size = 1K .
  • Параметр -l, - -count-links: многократно подсчитывает размеры, если файлы жестко связаны .
  • Параметр -m: эквивалент - - размер блока = 1M .
  • -L, - -dereference option: этот параметр разыменовывает все символические ссылки.
  • Параметр -P, - -no-dereference: этот параметр указывает du не переходить по символическим ссылкам, установленным по умолчанию.
  • Параметр -0, –null: завершает каждую строку вывода нулевым байтом, а не символом новой строки.
  • Параметр -S, - -separate-dirs: это заставляет вывод не включать размер подкаталогов .
  • -s, - -summarize опция: эта опция позволит отображать итог только для каждого аргумента.
  • -x, - -one-file-system option: Это заставит du пропускать каталоги в разных файловых системах.
  • -X, - -exclude-from = FILE option: исключить файлы, соответствующие любому шаблону, указанному в FILE.
  • - -exclude = ШАБЛОН опция: исключает файлы, соответствующие ШАБЛОНУ.
  • -d, - -max-depth = N параметр: выводить итоговую сумму для каталога (или файла с параметром –all) только в том случае, если он находится на N или менее уровней ниже аргумента командной строки; –Max-depth = 0 то же самое, что –summarize.
  • - Параметр -time: показывает время последней модификации любого файла в каталоге или любом из его подкаталогов.
  • - -time = WORD option: показывает время как WORD вместо времени модификации: atime, access, use, ctime или status .
  • - параметр -time-style = STYLE: показывает время в СТИЛЕ: full-iso, long-iso, iso или + FORMAT (FORMAT интерпретируется как формат даты).
  • - Параметр -help: отобразит справочное сообщение и завершится.
  • - -version option: отобразит информацию о версии и выйдет.

Примеры использования команды du

1. Использование опции -h: Как упоминалось выше, опция -h используется для вывода в удобочитаемом формате.

// использование -h с du

$ du -h kt.txt pt.txt
8,0 тыс. Kt.txt
4.0K pt.txt

/ * теперь вывод
читается человеком
формат то есть в
Килобайт * /

2. Использование du для отображения использования диска в каталоге: Теперь, если вы передадите имя каталога, скажем, kartik, в качестве аргумента для du, он покажет информацию об использовании диска для входного каталога kartik и его подкаталогов (если есть).

/*using du to display disk usage 
of a directory and its
sub-directories */

$du kartik
4       kartik/thakral
24      kartik

Над информацию об использовании диска из каталога Картик и его подкаталога отображаются thakral.

3. Использование опции -a: теперь, как показано выше, только информация об использовании диска в каталоге.
Картик и его подкаталог thakral отображается , но что , если вы хотите узнать информацию об использовании диска все файлы представляют в директории Картик. Для этого используйте параметр -a.

// использование -a с du

$ du -a kartik
8 карт / кт.txt
4 карты / pt.txt
4 kartik / pranjal.png
4 kartik / thakral.png
4 картик / тхакрал
24 картик

/ * поэтому с использованием опции -a
все файлы (в каталоге
kartik) информация об использовании диска
отображается вместе с 
подкаталог thakral * /

4. Использование опции -c: эта опция отображает общую сумму, как показано.

// использование -c с du

$ du -c -h kt.txt pt.txt
8,0 тыс. Kt.txt
4.0K pt.txt
12,0 тыс. Всего

/* в конце
итого отображается 
за использование диска * /

5. Использование опции - -time: эта опция используется для отображения времени последней модификации в выводе du.

// используя --time с du

$ du --time kt.txt
4 2017-11-18 16:00 kt.txt

/ * итак последний
дата модификации и
отображается время
когда - время 
используется опция * /

6. Использование опции - -exclude = PATTERN: В одном из приведенных выше примеров вся информация, связанная с использованием диска, была отображена в каталоге kartik . Теперь предположим, что вы хотите знать информацию только о файлах .txt, а не файлах .png, в этом случае, чтобы исключить шаблон .png , вы можете использовать эту опцию.

// используя --exclude = PATTERN с du

$ du --exclude = *. png -a kartik
8 карт / кт.txt
4 карты / pt.txt
4 картик / тхакрал
24 картик

/ * итак, в данном случае
Информация о файлах .png
исключен из вывода * /

7. Использование опции - -max-depth = N: Теперь эта опция позволяет вам ограничить вывод du определенной глубиной каталога.
Предположим, у вас есть каталог с именем ДРУЗЬЯ, в котором у вас есть подкаталоги как ДРУЗЬЯ / колледж и ДРУЗЬЯ / школа, а также в подкаталоге колледж у вас есть еще один подкаталог как ДРУЗЬЯ / колледж / прощание, тогда вы можете использовать - -max-depth = N вариант в этом случае как:

// используя --max-depth = N с du

$ du --max-depth = 0 ДРУЗЬЯ
24 ДРУЗЬЯ


/ * в этом случае вы 
ограниченный выход du
только на верхний = уровень
каталог * /

Теперь для подкаталогов колледжа и школы вы можете использовать:

$ du --max-depth = 1 ДРУЗЬЯ
16 ДРУЗЕЙ / колледж
8 ДРУЗЕЙ / школа
24 ДРУЗЬЯ

Теперь для ДРУЗЬЯ / колледжа / прощания вы можете использовать –max-depth = 2 как:

$ du --max-depth = 2 ДРУЗЬЯ
4 ДРУЗЬЯ / колледж / прощание
16 ДРУЗЕЙ / колледж
8 ДРУЗЕЙ / школа
24 ДРУЗЬЯ

/ * так вот как N
дюйм --max-depth = N 
используется для уровней * /

8. Использование опции - -files0-from = F: как упоминалось выше, она используется для суммирования использования диска именами файлов с завершающим NUL, указанными в файле F, и если файл F имеет значение «-», то считайте имена из стандарта. Вход.
Давайте воспользуемся этой опцией для получения входных данных из STDIN как:

// используя --files0from = F с du

$ pwd
/ home / kartik

$ ls
kt.txt pt.txt thakral

/ * теперь используйте эту опцию для 
принимая вклад от
STDIN * /

$ du --files0-from = -
kt.txt8 kt.txt
pt.txt4 pt.txt

/ * в этом случае после 
предоставление kt.txt в качестве входных данных
из STDIN необходимо
дважды нажмите Ctrl + D, затем
вывод показан и такой же для
pt.txt или любое другое имя файла
данные из STDIN * /

Приложения du command

  • Его можно использовать для определения дискового пространства, занимаемого конкретным каталогом, в случае передачи файлов с одного компьютера на другой.
  • Команда du может быть связана с конвейерами для фильтров . Фильтр обычно представляет собой специализированную программу, которая преобразует данные значимым образом.
  • Там также существует несколько других способов , как команда ф.р. , чтобы найти использование дискового пространства , но они все отсутствие йи возможности показать использование диска отдельных каталогов и файлов.
  • Его также можно использовать для быстрого определения количества подкаталогов в каталоге.

Пример использования du с фильтрами

Давайте рассмотрим простой пример использования du с командой sort, чтобы вывод, производимый du, был отсортирован в порядке возрастания размера файлов.


$ du -a kartik
8 карт / кт.txt
4 карты / pt.txt
4 kartik / pranjal.png
4 kartik / thakral.png
4 картик / тхакрал
24 картик

/ * теперь используем du для создания
отсортированный вывод * /

$ du -a kartik | sort -n
4 карты / pt.txt
4 kartik / pranjal.png
4 kartik / thakral.png
4 картик / тхакрал
8 карт / кт.txt
24 картик

/ * теперь вывод отображается
сортируется по размеру * /

Используемая команда sort вместе с опцией -n приводит к тому, что вывод выводится в числовом порядке, причем первым появляется файл с наименьшим размером.
Таким образом, du можно использовать для организации вывода по размеру.

Это все о du command.