Мнения людские — детские забавы (Гераклит Эфесский).

Как получить размер каталога в Linux

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
4 апреля 2019
Как получить размер каталога в Linux
При просмотре содержимого каталога с помощью команды ls вы, возможно, заметили, что размер каталогов почти всегда составляет 4096 байт (4 КБ). Это размер пространства на диске, который используется для хранения метаинформации для каталога, а не того, что он содержит.

Команда, которую вы хотите использовать, чтобы получить фактический размер каталога, du является сокращением от «disk usage». Мы покажем вам, как использовать эту команду.

 

Команда du отображает объем файлового пространства, используемого указанными файлами или каталогами. Если указанный путь является каталогом, du суммирует использование диска каждым файлом и подкаталогом в этом каталоге. Если путь не указан, du сообщит об использовании диска в текущем рабочем каталоге.

Если вы запустите du без какой-либо опции, он отобразит использование диска указанным каталогом и каждым из его подкаталогов в байтах.

В большинстве случаев вы хотите отобразить только пространство, занимаемое каталогом, в удобочитаемом формате. Например, чтобы получить общий размер каталога /var, вы должны выполнить следующую команду:

sudo du -sh /var

Вывод будет выглядеть примерно так.

29G/var

Давайте объясним команду и ее аргументы:

  • Команда начинается с того, sudoчто большинство файлов и каталогов внутри каталога /var принадлежат пользователю root и недоступны для чтения обычным пользователям. Если вы опустите sudo, команда du выведет «du: not read directory».
  • s – Отображать только общий размер указанного каталога, не отображать итоговые размеры файлов для подкаталогов.
  • h- Размеры печати в удобочитаемом формате (h).
  • /var – Путь к каталогу, который вы хотите получить размер.

Что делать, если вы хотите отобразить использование диска в подкаталогах первого уровня. У вас есть два варианта, первый – использовать символ звездочки, как показано ниже, что означает «все, что не начинается с точки ( .)». Переключатель shc указует напечатать итог всех размеров:

sudo du -shc /var/*
2.0M    /var/backups                                                                                                                                          
111M    /var/cache                                                                                                                                            
8.8G    /var/lib                                                                                                                                              
4.0K    /var/local                                                                                                                                            
0       /var/lock                                                                                                                                             
33M     /var/log                                                                                                                                              
4.0K    /var/mail                                                                                                                                             
4.0K    /var/opt                                                                                                                                              
0       /var/run                                                                                                                                              
988M    /var/spool                                                                                                                                            
44K     /var/tmp

Другой вариант – использовать переключатель –max-depth и указать уровень подкаталогов:

sudo du -h --max-depth=1 /var
19G     /var/www                                                                                                                                              
111M    /var/cache                                                                                                                                            
33M     /var/log                                                                                                                                              
988M    /var/spool                                                                                                                                            
2.0M    /var/backups                                                                                                                                          
9.2G    /var/lib                                                                                                                                              
4.0K    /var/mail                                                                                                                                             
4.0K    /var/opt                                                                                                                                              
4.0K    /var/local                                                                                                                                            
44K     /var/tmp                                                                                                                                              
29G     /var

По умолчанию утилита du показывает дисковое пространство, используемое каталогом или файлом. «Очевидный размер» файла – это количество данных в нем.

Чтобы найти видимый размер каталога, используйте переключатель –apparent-size.

sudo du -sh --apparent-size /var

Когда вы передаете каталог через SCP , Rsync или SFTP, объем данных, который будет передаваться по сети, равен кажущемуся размеру файлов. Вот почему размер пространства на диске, который используется в источнике при отображении с помощью du (без –apparent-size), не будет таким же, как размер в целевой папке.

Команду du также можно комбинировать с другими командами с помощью каналов. Например, чтобы напечатать 5 самых больших каталогов в каталоге /var, вы бы использовали:

sudo du -h /var/ | sort -rh | head -5
29G     /var/                                                                                                                                                 
19G     /var/www                                                                                                                                              
17G     /var/www/andreyex/data/www                                                                                                                            
17G     /var/www/andreyex/data                                                                                                                                
17G     /var/www/andreyex

Из этой статьи вы узнали, как получить размер каталога с помощью команды du.

Если у вас есть какие-либо вопросы или замечания, пожалуйста, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 115

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close