В этом кратком руководстве объясняется, как определить размер каталога в операционных системах Linux. Определить размер файлов и каталогов в режиме графического интерфейса очень просто! Все, что нам нужно сделать, это просто щелкнуть правой кнопкой мыши файл или каталог и выбрать параметр свойств в контекстном меню. Однако не менее важно знать, как узнать размер каталога из режима CLI. Позвольте мне объяснить, как узнать размер каталога из командной строки.
Чтобы узнать размер каталога, мы воспользуемся командой du
. du
означает disk usage.
Типичный синтаксис команды du приведен ниже:
du [OPTION]... [FILE] [directory]... du [OPTION]... --files0-from=F
Давайте введем команду du в Терминале и посмотрим, что она отобразит.
$ du
Образец вывода:
Как вы видите выше, команда du отображает использование диска каталогами вместе с его подкаталогами в текущем каталоге.
Чтобы отобразить размер определенного каталога, например, ostechnix, запустите:
$ du ostechnix/
Пример вывода:
36252 ostechnix/Swami Vivekananda (Chicago Speech) 452 ostechnix/MultiCD/plugins 44 ostechnix/MultiCD/.git/hooks 4 ostechnix/MultiCD/.git/branches 1012 ostechnix/MultiCD/.git/objects/pack 4 ostechnix/MultiCD/.git/objects/info 1020 ostechnix/MultiCD/.git/objects 8 ostechnix/MultiCD/.git/logs/refs/heads 8 ostechnix/MultiCD/.git/logs/refs/remotes/origin 12 ostechnix/MultiCD/.git/logs/refs/remotes 24 ostechnix/MultiCD/.git/logs/refs 32 ostechnix/MultiCD/.git/logs 8 ostechnix/MultiCD/.git/refs/heads 4 ostechnix/MultiCD/.git/refs/tags 8 ostechnix/MultiCD/.git/refs/remotes/origin 12 ostechnix/MultiCD/.git/refs/remotes 28 ostechnix/MultiCD/.git/refs 8 ostechnix/MultiCD/.git/info 1168 ostechnix/MultiCD/.git 140 ostechnix/MultiCD/maps 2706504 ostechnix/MultiCD 2832056 ostechnix/
Мы также можем отображать размер в «удобочитаемом формате» (т.е. автоматически выбирать соответствующую единицу для каждого размера), а не в стандартном размере блока.
Для этого добавьте тег -h
с командой du
, как показано ниже.
$ du -h ostechnix/
Пример вывода:
36M ostechnix/Swami Vivekananda (Chicago Speech) 452K ostechnix/MultiCD/plugins 44K ostechnix/MultiCD/.git/hooks 4.0K ostechnix/MultiCD/.git/branches 1012K ostechnix/MultiCD/.git/objects/pack 4.0K ostechnix/MultiCD/.git/objects/info 1020K ostechnix/MultiCD/.git/objects 8.0K ostechnix/MultiCD/.git/logs/refs/heads 8.0K ostechnix/MultiCD/.git/logs/refs/remotes/origin 12K ostechnix/MultiCD/.git/logs/refs/remotes 24K ostechnix/MultiCD/.git/logs/refs 32K ostechnix/MultiCD/.git/logs 8.0K ostechnix/MultiCD/.git/refs/heads 4.0K ostechnix/MultiCD/.git/refs/tags 8.0K ostechnix/MultiCD/.git/refs/remotes/origin 12K ostechnix/MultiCD/.git/refs/remotes 28K ostechnix/MultiCD/.git/refs 8.0K ostechnix/MultiCD/.git/info 1.2M ostechnix/MultiCD/.git 140K ostechnix/MultiCD/maps 2.6G ostechnix/MultiCD 2.8G ostechnix/
Теперь вы видите размер каталогов в килобайтах, мегабайтах и гигабайтах, что очень ясно и легко для понимания.
Мы также можем отображать размер использования диска только в КБ, МБ или ГБ.
Для этого используйте -k
для килобайт, -m
для мегабайт.
$ du -k ostechnix/ $ du -m ostechnix/
Чтобы узнать, какие подкаталоги занимают размер диска, используйте эту команду:
$ du -h --max-depth=1 | sort -hr
Самые большие подкаталоги будут отображаться вверху. Вы можете увеличить уровень глубины каталога, увеличив значение параметра --max-depth
.
Как вы могли заметить во всех приведенных выше выходных данных, команда du отображала только использование диска каталогами. Но как насчет файлов? Чтобы отобразить использование диска всеми элементами, включая файлы и каталоги, используйте флаг -a
.
$ du -ah ostechnix/
Теперь вы увидите использование диска всеми файлами и папками в удобочитаемой форме.
Пример вывода:
Мы также можем отображать размер нескольких каталогов одновременно, как показано ниже.
$ du -h каталог1 каталог2
Если вы хотите проверить общее дисковое пространство, используемое конкретным каталогом, используйте флаг -s
.
$ du -sh ostechnix
Здесь флаг -s
указывает на сводку.
Пример вывода:
2.8G ostechnix
Точно так же, чтобы отобразить общее дисковое пространство, используемое несколькими каталогами, например ostechnix и /etc, запустите:
$ du -sh ostechnix /home/sk/
Пример вывода:
2.8G ostechnix 279G /home/sk/
Чтобы отобразить общее количество каталогов, добавьте флаг -c с командой du -sh .
$ du -csh ostechnix /home/sk/
Пример вывода:
2.8G ostechnix 279G /home/sk/ 281G total
Чтобы отобразить только общий итог данного каталога, включая все подкаталоги, используйте команду grep
с командой du
, как показано ниже.
$ du -ch Downloads/ | grep total 12G total
Возможно, вы захотите исключить определенные типы файлов. Следующая команда отобразит размер текущего каталога, включая его подкаталоги, но исключит размер всех файлов .mp4.
$ du -ch --exclude='*.mp4' | grep total 6.4G total
Можем ли мы найти самые большие или самые маленькие каталоги / файлы? Конечно да! Ознакомьтесь со следующим руководством.
Как найти самые большие и самые маленькие каталоги и файлы в Linux
Дополнительные сведения о команде ‘du’ см. на страницах руководства.
$ man du