Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы

Команда du

Команда du, синтаксис, ключи. Как узнать размер каталога, папки в Linux/FreeBSD

Как узнать размер каталога(папки) в Linux/FreeBSD?
Команда du отображает размер дискового пространства, занятого файлами или каталогами.
Синтаксис:
du [опции] [каталоги_или_файлы]

Опции:
-b выводит информацию в байтах(а не в килобайтах).
-c выводит итоговую информацию об использовании дисковой памяти.
-k выводит информацию в килобайтах(по умолчанию).
-s выводит итоговую информацию об использовании дискового пространства без информации о каталогах.
-h вывести инофрмацию в человекочитаемом виде.

Пример:
Узнать размер папки /home/user/data/backup/ :

# du -sh /home/user/data/backup/
9.9G      /home/user/data/backup/
Узнать размер папки /home/user/data/backup/ и размеры подкаталогов:
# du -h /home/user/data/backup/
4.0K    /home/user/data/backup/123
2.2G    /home/user/data/backup/mysql
6.2G    /home/user/data/backup/site/
8.4G    /home/user/data/backup/

FreeBSD&Linux: du — проверка размера каталогов, примеры использования

Практически в любой UNIX-like операционной системе можно получить полную информацию о размере каталогов с помощью утилиты du.

Как в df, ключ -h отображает вывод в human-readable виде, т.е. в Mbytes, Kbytes etc.

Самое распространенное применение — с ключами -h и -s. Ключ -s указывает, что требуется отобразить общую информацию о каталоге, не отображая все каталоги и файлы:

# du -hs /home/setevoy/
72k    /home/setevoy/

Ключ -a указывает обрабатывать не только каталоги, но и файлы:

# # du -ah /home/setevoy/
…
4.0k    /home/setevoy/.bash_history
4.0k    /home/setevoy/.ssh/known_hosts
8.0k    /home/setevoy/.ssh
72k    /home/setevoy/

Ключ -c выводит в конце списка общую информацию о размере каталога, после обработки всех аргументов:

# du -hc /home/setevoy/
8.0k    /home/setevoy/.ssh
72k    /home/setevoy/
72k    total

Очень полезный ключ -L — указывает о необходимости подсчета размера файлов/каталогов, на которые указывают симлинки, вместо подсчета размера самого файла ссылки.

К примеру:

# pwd
/home/setevoy
# ls -la
…
lrwxr-xr-x  1 root     setevoy    23 Aug 17 00:16 setevoy -> /usr/local/www/setevoy/

Сам каталог /home/setevoy/setevoy имеет размер 0 байт:

# pwd
/home/setevoy
# du -ha
…
0B    ./setevoy
72k    .

Однако каталог /usr/local/www/setevoy/ имеет размер 8 байт:

# pwd
/home/setevoy
# du -haL
8.0k    ./setevoy
80k    .

Подсчитать размер каждого каталога, находящего в уровне вложенности 1 от указанного каталога:

# du -d 1 -h /usr/local/www/
1.2M    /usr/local/www/apache22
20M    /usr/local/www/phpMyAdmin
4.2M    /usr/local/www/loganalyzer
25M    /usr/local/www/

Ключ -I (Ignore) — пропускать файлы и каталоги, имеющие определенное имя:

# du -I «phpMyAdmin» -h -d 1 /usr/local/www/
1.2M    /usr/local/www/apache22
4.2M    /usr/local/www/loganalyzer
5.3M    /usr/local/www/

И наоборот — отобразить размер каталогов или файлов, содержащих определенный шаблон:

# pwd
/usr/local/www
# du -h -d 1 *phpMyAdmin*|sort
20M    phpMyAdmin
52k    phpMyAdmin/examples
116k    phpMyAdmin/setup
2.3M    phpMyAdmin/themes
2.4M    phpMyAdmin/js
5.4M    phpMyAdmin/libraries
8.5M    phpMyAdmin/locale

Ключ -n при подсчете размера каталога указывает пропустить файлы и каталоги, имеющие флаг nodump:

# ls -lo
…
drwxr-xr-x   2 root  wheel  nodump  512 Aug 17 00:18 setevoy

Без ключа -n:

# du -h -d 1 *setevoy*|sort
4.0k    setevoy1
8.0k    setevoy

И с ним:

# du -hn -d 1 *setevoy*|sort
4.0k    setevoy1

И последний полезный аргумент . Указывает не учитывать каталоги, которые являются точками монтирования других файловых систем.


Главная > Программы