du Command в LINUX
При работе с 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.