Как узнать размер каталога в Linux

Часто вам может понадобиться узнать размер папки в Linux, особенно если ваш диск становится переполненным. Но когда мы выводим список папок или каталогов с помощью команды ls, их размер всегда отображается как 4kb. Это не размер содержимого папки, а только ее метаданных. В этой статье мы узнаем, как узнать размер каталога в Linux с помощью команды du. Она полезна для определения самых больших каталогов на вашем диске, чтобы вы знали, какие папки занимают больше всего места на диске. Вы можете использовать эти команды почти в каждом дистрибутиве Linux.

linux

Как узнать размер каталога в Linux

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

Например, если вы хотите узнать размер папки /home/ubuntu, используйте следующую команду.

du /var

Вы увидите, что он отображает не только общий размер папки, но и размер каждого файла и подпапки в ней. Общее пространство каталога будет показано только в последней строке вывода. Это может быть довольно много в зависимости от количества подпапок и файлов в конкретной папке. Если вы хотите увидеть размер только указанной директории, но не ее поддиректорий и файлов, используйте опцию -s.

du -s /var
Кроме того, по умолчанию команда du отображает все размеры в байтах. Приведенный выше вывод означает, что /home/ubuntu занимает 2067884 байта данных. Если вы хотите, чтобы команда du отображала информацию в человекочитаемых форматах, таких как Мб, Гб и т.д., используйте опцию -h.

du -sh /var
Когда вы выполняете команду du для определенного каталога, она просматривает все его файлы и подкаталоги и выводит список их размеров. Если вы хотите просмотреть дисковое пространство только непосредственных подкаталогов, а не их вложенных папок, то есть подкаталогов первого уровня, вы можете управлять этим с помощью опции -max-depth. В следующем примере мы хотим просмотреть информацию только о ближайших вложенных папках, то есть первого уровня, а не о любых их подкаталогах.

du --max-depth=1 /var

Вы также можете использовать команду du для вычисления кажущегося размера файла или папки. Кажущийся размер - это размер фактических данных, присутствующих в файле. Для этого вы можете использовать опцию -apparent-size.

du --max-depth=1 --apparent-size /var

Вы увидите, что существует разница в информации о размере с использованием опции --apparent-size и без нее. Во время передачи файлов видимый размер используется для определения объема передаваемых данных.

Теперь, когда вы знаете, как узнать размер каталога в Linux, вы можете использовать команду du для получения списка самых больших папок на вашем диске. Вот команда для получения списка 5 самых больших папок в Linux.

sudo du -h /var | sort -rh | head -5

В приведенной выше команде мы передаем вывод команды du команде sort для сортировки каталогов по их размеру, а затем передаем его команде head, которая выведет только 5 самых больших каталогов.

Заключение

В этой статье мы узнали, как получить размер каталога в Linux. Вы можете настроить его в соответствии с вашими требованиями.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий