SLUSAR.SU
Логово Программиста
Как посмотреть размер папок и файлов в консоли Linux

Привет, сегодня хочу рассказать о том, как же, все-таки, из консоли или по удаленке через ssh узнать размер папок или файлов linux.
Именно с такой задачей столкнулся, когда нужно было посмотреть, кто же больше всех занимает места в корпоративном файлхранилище.
Данная операция может быть ресурсоёмкой при большом количестве файлов. И чтобы не заморачиваться, приведу примеры со своей рабочей машины.
и в этом нам поможет замечательная команда du.
Смотрим размер моей рабочей папки на диске home:
Если набрать просто du или du -h, то на терменал выведутся рамеры всех вложенных папок и файлов. Так что так лучше не делать.
Если нужно узнать размеры всего содержимого в каталоге, тогда заходим в него и выполняем следующую команду:
Самвол * означает, что нужно выбрать все файлы в папке.
Сортируем папки по размеру:
du -s *| sort -nr — Покажет все файлы в килобайтах и отсортирует от большего к меньшему.
du -sm *| sort -nr -Покажет все файлы в мегабайтах и отсортирует от большего к меньшему.
du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done — А данная кострукция поможет отсортировать файлы от большего к меньшему и прописать размеры в мегабайтах и килобайтах:
10 идей о “ Как посмотреть размер папок и файлов в консоли Linux ”
А почему нельзя было использовать просто команду ls вместо du ?
Например команда ls -l -S выведет содержимое директория в отсортированном виде от большего к меньшему по размеру и имени (вместе с директориями и размером содержимого). Так же есть общий размер текущей директории и входящих в неё.
Дополним параметром -h и размер будет показан как в байтах, Кбайтах и Мбайтах, если таковые имеются. ls -l -S -h
Ну а если добавить еще параметр -R тогда будет подробно покеазан каждый поддиректорий начиная с текущего. ls -l -S -h -R
я просто показала еще один способ. Каким пользоваться, решай сам
«А почему нельзя было использовать просто команду ls вместо du ?» — Совершенно разное назначение, ls — не показывает размер папки, только 4Кб как это делает обычный менеджер файлов. Если надо знать какая папка сколько жрет места, чтобы найти причину уменьшения свободного места, то только du
Привет Админ.
Есть и такой способ:
du -h —max-depth=1
Удобнее -s тем, что общий размер так же выводит.
Так же можно с сортировкой выводить как в твоих примерах.
Вы правы. Если найдете еще способ, буду рад.
sisadmin@sisadmin-linux пишет нет такой команды
$ du -s *| sort -nr
sisadmin@sisadmin-linux: команда не найдена
kkk@333
$ /home du -sm *| sort -nr
bash: /home: Это каталог
kkk@333
$ /home $ du -sm *| sort -nr
bash: /home: Это каталог
du -s * | sort -nr | cut -f 2- | while read a; do du -hs $a; done
$a нужно взять в кавычки, чтобы не было проблем с пробелами в путях.
Михаил, копируйте команды, а не вывод консоли:
du -s *| sort -nr
Спасибо admin и Вячеслав, самая удобная команда:
du -s * | sort -nr | cut -f 2- | while read a; do du -hs «$a»; done
в моем комменте выше важно $a взять в вертикальные двойные кавычки, а не такие, как я указал выше.
Админ, а лучше исправьте их в комменте выше, а этот коммент удалите.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Как узнать размер папки в Linux
Оценить размер папки в Linux (занимаемого места) можно с помощью стандартной консольной команды du. Давайте поглядим подробнее, как она работает.
Узнать размер папки в которой мы находимся
в килобайтах (по умолчанию)
Добавив дополнительный ключ можно получить вывод:
- в байтах -b
- опять же, в килобайтах -k
- в мегабайтах -m
или же в с помощью ключа -B (он же в другой записи —block-size=РАЗМЕР )
РАЗМЕР можно задавать с помощью обозначений K – килобайты, M – мегабайты, G – гигабайты, T – терабайты и так далее – P , E , Z , Y .
но чаще всего, что бы узнать размер папки в Linux, вы будете пользоваться ключом -h , показывающем размер в удобном для восприятия формате
Узнаем размер произвольной папки или сразу нескольких
Просто допишем путь к папке которая нас интересует:
Поглядим размер всех объектов в папке:
Добавим в вывод итоговый размер папки с помощью ключа -с :
И то же самое для произвольного пути:
Сортируем вывод по размеру папок/файлов
По умолчанию вывод сортируется по имени объектов файловой системы, что согласитесь, не всегда удобно – например, нам надо найти самую “толстую” папку в каталоге, где тысячи объектов. Представили?
В такой ситуации нам здорово поможет команда sort .
Параметр -n указывает, что нужно использовать числовую сортировку, а -r задает обратный порядок (т.е. самые большие папки будут выведены первыми):
естественно, можно указать в чем считать с помощью ключей -m , -b или -B , про которые написано выше. Но удобнее передать sort вместо -n , параметр -h – который сортирует числа переведенные в удобочитаемый формат (1G, 20.3K и т.д.):
Как узнать размер папки в Linux
В операционных системах на базе Linux посмотреть размер папки (директории) можно с помощью команды du. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.
Синтаксис
Общий синтаксис команды du следюущий:
du
du имяПапки
du [ключи] имяПапки
Примеры использования
Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:
Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:
Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:
Для того, чтобы узнать общий размер, который занимает определенная папка вызовите команду du с ключем -s:
Лучше будет запустить команду du с ключами -s и -h совместно:
Тогда вывод воспринять легче:
Ключ -c используется для подсчета общей суммы размеров папок так:
Другая удобная опция команды du это ключ —max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:
Размеры папок и дисков в Linux. Команды df и du

Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
Примечание: df не отображает информацию о не смонтированных дисках.
Опция -h
Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du.
Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать.
Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (—summarize). Также как и с df, добавим опцию -h (—human-readable).
Linux. Узнать размер файлов и папок с помощью терминала
В данной статье будет рассказано: «Как с помощью терминала или консоли узнать размер файла/папки в операционной системе linux«.
Для получения размера папки/файла необходимо воспользоваться командой «du«.
- Пример получения размера папки/файла:
Посмотрим размер рабочей папки в «/home/«.
Для этого необходимо выполнить команду «du» и добавить к ней ключ «-sh«.
Пример получения размера всех файлов и папок в директории:
Для получения данного списка необходимо воспользоваться командой «du» и добавить ключ «-sh«.
Далее указать путь до требуемой папки и добавить в конце «*«.
Получение размера всех файлов и папок с применением сортировки:
- Сортировка от большего к меньшему с выводом результата в килобайтах:
Сортировка от большего к меньшему с выводом результата в мегабайтах:
Как получить размер каталога в Linux
Команда, которую вы хотите использовать, чтобы получить фактический размер каталога, du является сокращением от «disk usage». Мы покажем вам, как использовать эту команду.
Получение размера каталога
Команда du отображает объем файлового пространства, используемого указанными файлами или каталогами. Если указанный путь является каталогом, du суммирует использование диска каждым файлом и подкаталогом в этом каталоге. Если путь не указан, du сообщит об использовании диска в текущем рабочем каталоге.
Если вы запустите du без какой-либо опции, он отобразит использование диска указанным каталогом и каждым из его подкаталогов в байтах.
В большинстве случаев вы хотите отобразить только пространство, занимаемое каталогом, в удобочитаемом формате. Например, чтобы получить общий размер каталога /var, вы должны выполнить следующую команду:
Вывод будет выглядеть примерно так.
Давайте объясним команду и ее аргументы:
- Команда начинается с того, sudoчто большинство файлов и каталогов внутри каталога /var принадлежат пользователю root и недоступны для чтения обычным пользователям. Если вы опустите sudo, команда du выведет «du: not read directory».
- s – Отображать только общий размер указанного каталога, не отображать итоговые размеры файлов для подкаталогов.
- h- Размеры печати в удобочитаемом формате (h).
- /var – Путь к каталогу, который вы хотите получить размер.
Что делать, если вы хотите отобразить использование диска в подкаталогах первого уровня. У вас есть два варианта, первый – использовать символ звездочки, как показано ниже, что означает «все, что не начинается с точки ( .)». Переключатель shc указует напечатать итог всех размеров:
Другой вариант – использовать переключатель –max-depth и указать уровень подкаталогов:
По умолчанию утилита du показывает дисковое пространство, используемое каталогом или файлом. «Очевидный размер» файла – это количество данных в нем.
Чтобы найти видимый размер каталога, используйте переключатель –apparent-size.
Когда вы передаете каталог через SCP , Rsync или SFTP, объем данных, который будет передаваться по сети, равен кажущемуся размеру файлов. Вот почему размер пространства на диске, который используется в источнике при отображении с помощью du (без –apparent-size), не будет таким же, как размер в целевой папке.
Команду du также можно комбинировать с другими командами с помощью каналов. Например, чтобы напечатать 5 самых больших каталогов в каталоге /var, вы бы использовали:
Заключение
Из этой статьи вы узнали, как получить размер каталога с помощью команды du.
Если у вас есть какие-либо вопросы или замечания, пожалуйста, оставьте комментарий ниже.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

