Как посмотреть размер папок и файлов в консоли Linux

08.08.19 15:13:58 08.08.19 18:10:45 93

*Источник: http://slusar.su/kak-posmotret-razmer-papok-i-fajlov-v-konsoli-linux/

Привет, сегодня хочу рассказать о том, как же, все-таки, из консоли или по удаленке через ssh узнать размер папок или файлов linux.
Именно с такой задачей столкнулся, когда нужно было посмотреть, кто же больше всех занимает места в корпоративном файлхранилище.
Данная операция может быть ресурсоёмкой при большом количестве файлов и в этом нам поможет замечательная команда du.

Смотрим размер моей рабочей папки на диске home:

sisadmin@sisadmin-linux /home $ ls lost+found sisadmin sisadmin@sisadmin-linux /home $ du -sh sisadmin/ 1,6G sisadmin/

Если набрать просто du или du -h, то на терменал выведутся рамеры всех вложенных папок и файлов. Так что так лучше не делать.

Если нужно узнать размеры всего содержимого в каталоге, тогда заходим в него и выполняем следующую команду:

sisadmin@sisadmin-linux /home $ cd sisadmin/ sisadmin@sisadmin-linux ~ $ du -sh * 12K 1 4,0K 1.py 4,0K komunalka.py 4,0K raschot2.py 4,0K raschot.py 228K screenshot_2721199507.png 232K screenshot_2721200622.png 4,0K stroki.py 4,0K tellbook.py 0 tellbook.txt 4,0K test.py 736K VirtualBox VMs 4,0K Видео 4,0K Документы 112M Загрузки 13M Изображения 4,0K Музыка 4,0K Общедоступные 87M Рабочий стол 4,0K Снимки виртуальных машин.docx 4,0K Шаблоны

Самвол * означает, что нужно выбрать все файлы в папке.

Сортируем папки по размеру:

du -s *| sort -nr — Покажет все файлы в килобайтах и отсортирует от большего к меньшему.
du -sm *| sort -nr -Покажет все файлы в мегабайтах и отсортирует от большего к меньшему.

sisadmin@sisadmin-linux ~ $ du -s *| sort -nr 114492 Загрузки 89036 Рабочий стол 12476 Изображения 736 VirtualBox VMs 232 screenshot_2721200622.png 228 screenshot_2721199507.png 12 1 4 Шаблоны 4 Снимки виртуальных машин.docx 4 Общедоступные 4 Музыка 4 Документы 4 Видео 4 test.py 4 tellbook.py 4 stroki.py 4 raschot.py 4 raschot2.py 4 komunalka.py 4 1.py 0 tellbook.txt sisadmin@sisadmin-linux ~ $ du -sm *| sort -nr 112 Загрузки 87 Рабочий стол 13 Изображения 1 Шаблоны 1 Снимки виртуальных машин.docx 1 Общедоступные 1 Музыка 1 Документы 1 Видео 1 VirtualBox VMs 1 test.py 1 tellbook.py 1 stroki.py 1 screenshot_2721200622.png 1 screenshot_2721199507.png 1 raschot.py 1 raschot2.py 1 komunalka.py 1 1.py 1 1 0 tellbook.txt

du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done — А данная кострукция поможет отсортировать файлы от большего к меньшему и прописать размеры в мегабайтах и килобайтах:

sisadmin@sisadmin-linux ~ $ du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done 112M Загрузки du: невозможно получить доступ к «Рабочий»: Нет такого файла или каталога du: невозможно получить доступ к «стол»: Нет такого файла или каталога 13M Изображения du: невозможно получить доступ к «VirtualBox»: Нет такого файла или каталога du: невозможно получить доступ к «VMs»: Нет такого файла или каталога 232K screenshot_2721200622.png 228K screenshot_2721199507.png 12K 1 4,0K Шаблоны du: невозможно получить доступ к «Снимки»: Нет такого файла или каталога du: невозможно получить доступ к «виртуальных»: Нет такого файла или каталога du: невозможно получить доступ к «машин.docx»: Нет такого файла или каталога 4,0K Общедоступные 4,0K Музыка 4,0K Документы 4,0K Видео 4,0K test.py 4,0K tellbook.py 4,0K stroki.py 4,0K raschot.py 4,0K raschot2.py 4,0K komunalka.py 4,0K 1.py 0 tellbook.txt

+++

Например команда ls -l -S выведет содержимое директория в отсортированном виде от большего к меньшему по размеру и имени (вместе с директориями и размером содержимого). Так же есть общий размер текущей директории и входящих в неё.
Дополним параметром -h и размер будет показан как в байтах, Кбайтах и Мбайтах, если таковые имеются. ls -l -S -h
Ну а если добавить еще параметр -R тогда будет подробно покеазан каждый поддиректорий начиная с текущего. ls -l -S -h -R

Есть и такой способ:
du -h —max-depth=1

Удобнее -s тем, что общий размер так же выводит.
Так же можно с сортировкой выводить