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

Изучаем 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

Введи свой e-mail:

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

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

  2. Привет Админ.
    Есть и такой способ:
    du -h —max-depth=1

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

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

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