Как узнать размер папки в linux: различия между версиями
KOleg (обсуждение | вклад) (Новая страница: «'''Как узнать размер папки в linux?''' == Просмотр размера текущей папки == Чтобы показать объе…») |
KOleg (обсуждение | вклад) |
||
Строка 47: | Строка 47: | ||
du -h | du -h | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | '''Внимание:''' если такой случайно запустить в корне на объёмном диске с большим количеством информации - лучше сразу жмите CTRL-C, т.к. во-первых, иначе придётся сильно подождать ;) , во-вторых, десятки-сотни экранов информации будут бессмысленными. Потому эта простая команда должна использоваться лишь для, соответственно, простых случаев. | + | <span style="color: red">'''Внимание:'''</span> если такой случайно запустить в корне на объёмном диске с большим количеством информации - лучше сразу жмите CTRL-C, т.к. во-первых, иначе придётся сильно подождать ;) , во-вторых, десятки-сотни экранов информации будут бессмысленными. Потому эта простая команда должна использоваться лишь для, соответственно, простых случаев. |
== Отсортировать папки по объёму == | == Отсортировать папки по объёму == |
Текущая версия на 23:10, 8 ноября 2018
Как узнать размер папки в linux?
Просмотр размера текущей папки
Чтобы показать объем просто одного текущего каталога (со всеми вложенными файлами + подкаталогами) подойдёт команда du с ключиком -sh.
Вот пример, как определить размер директории данного сайта:
du -sh
root@Debian:/var/www/linuxcmd.ru# du -sh
25M .
root@Debian:/var/www/linuxcmd.ru#
Посмотреть размеры всех папок
Если нужно посчитать вес всех директорий плюс файлы — добавляем звёздочку:
du -sh *
root@Debian:/var/www/linuxcmd.ru# du -sh *
4.0K unix.html
8.0K authorize.php
4.0K cron.php
2.1M files
4.0K centos.html
72K img
2.2M includes
4.0K index.php
4.0K install.php
912K misc
12M modules
196K profiles
4.0K robots.txt
80K scripts
7.0M sites
696K themes
8.0K translations
20K update.php
4.0K web.config
4.0K xmlrpc.php
0 ubuntu.txt
root@Debian:/var/www/linuxcmd.ru#
Отобразить размеры всех вложенных папок
Чтобы проверить информацию в том числе вообще по всем папкам, вместе со вложенными - понадобится самый короткий вариант:
du -h
Внимание: если такой случайно запустить в корне на объёмном диске с большим количеством информации - лучше сразу жмите CTRL-C, т.к. во-первых, иначе придётся сильно подождать ;) , во-вторых, десятки-сотни экранов информации будут бессмысленными. Потому эта простая команда должна использоваться лишь для, соответственно, простых случаев.
Отсортировать папки по объёму
du -s *| sort -nr
Покажет объём в килобайтах с сортировкой - самые большие папки/файлы сверху. Если нужно в мегабайтах:
du -sm *| sort -nr
К сожалению более удобный ключик h ("human" - автовыбор кило-мега-гига) в данном случае (du -sh *| sort -nr) не подойдёт, т.к. сортировка идёт по "числам" (не учитывая, что это KB/MB/GB). Для этого придётся использовать длинную команду:
du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done
root@Debian:/var/www/linuxcmd.ru# du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done
12M modules
7.0M sites
2.2M includes
2.1M files
912K misc
696K themes
196K profiles
80K scripts
72K img
20K update.php
8.0K translations
8.0K authorize.php
4.0K xmlrpc.php
4.0K web.config
4.0K robots.txt
4.0K install.php
4.0K index.php
4.0K centos.html
4.0K cron.php
4.0K unix.html
0 ubuntu.txt
root@Debian:/var/www/linuxcmd.ru#
Получается "заумно", зато всё красиво!
Такую можно уже запускать даже в корне, обождав (если файлов много - серьёзно обождав) получим нечто типа:
root@Debian:/# du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done
du: cannot access `proc/30976/task/30976/fd/4': No such file or directory
du: cannot access `proc/30976/task/30976/fdinfo/4': No such file or directory
du: cannot access `proc/30976/fd/4': No such file or directory
du: cannot access `proc/30976/fdinfo/4': No such file or directory
314M usr
291M var
120M lib
76M tmp
34M home
18M boot
4.6M bin
4.4M sbin
3.0M etc
56K dev
32K root
16K lost+found
4.0K srv
4.0K selinux
4.0K opt
4.0K mnt
4.0K media
0 sys
du: cannot access `proc/31009/task/31009/fd/4': No such file or directory
du: cannot access `proc/31009/task/31009/fdinfo/4': No such file or directory
du: cannot access `proc/31009/fd/4': No such file or directory
du: cannot access `proc/31009/fdinfo/4': No such file or directory
0 proc
root@Debian:/#