Какая команда покажет размер файла или папки в Linux?

В этом кратком руководстве объясняется, как определить размер каталога в операционных системах 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



2021-01-10T10:48:32
Вопросы читателей