RENOTES
Linux: размер файла или директории
Вывод размеров файлов через команду ls
Самый очевидный способ — это воспользоваться средствами команды ls. Для вывода размеров файлов, воспользуемся двумя параметрами:
s — выводит размеры файлов;
h — конвертирует размер файлов в формат, удобный для чтения человеком.
По умолчанию, команда выведет список файлов директории, где вы сейчас находитесь.
Но одна из слабых сторон команды ls в том, что она не может вычислять размер, скажем директории с его содержимым. И тут приходит на помощь другая команда.
Вывод размеров файлов и директорий с помощью du
du — это команда, которая доступна по-умолчанию на многих Linux дистрибутивах.
По-умолчанию эта команда начнёт выводить размер каждой директории с его вложениями. Чтобы увидеть только размеры папок и файлов из текущей директории, без никаких вложенных папок и файлов, то воспользуйтесь следующей командой:
-d — уровень вложенности;
-h — размер файлов в человеко-понятном виде.
Данные команды также применимы в терминале MacOS.
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. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.
Синтаксис
Общий синтаксис команды du следюущий:
du
du имяПапки
du [ключи] имяПапки
Примеры использования
Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:
Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:
Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:
Для того, чтобы узнать общий размер, который занимает определенная папка вызовите команду du с ключем -s:
Лучше будет запустить команду du с ключами -s и -h совместно:
Тогда вывод воспринять легче:
Ключ -c используется для подсчета общей суммы размеров папок так:
Другая удобная опция команды du это ключ —max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:
Linux. Узнать размер файлов и папок с помощью терминала
В данной статье будет рассказано: «Как с помощью терминала или консоли узнать размер файла/папки в операционной системе linux«.
Для получения размера папки/файла необходимо воспользоваться командой «du«.
- Пример получения размера папки/файла:
Посмотрим размер рабочей папки в «/home/«.
Для этого необходимо выполнить команду «du» и добавить к ней ключ «-sh«.
Пример получения размера всех файлов и папок в директории:
Для получения данного списка необходимо воспользоваться командой «du» и добавить ключ «-sh«.
Далее указать путь до требуемой папки и добавить в конце «*«.
Получение размера всех файлов и папок с применением сортировки:
- Сортировка от большего к меньшему с выводом результата в килобайтах:
Сортировка от большего к меньшему с выводом результата в мегабайтах:
Поиск больших файлов и директорий в Linux
Дисковое пространство не вечно. Рано или поздно приходит момент, когда его катастрофически не хватает. Эффективный способ это исправить — найти файлы и директории, которые занимают больше всего места.
Рассмотрим, как это сделать в Linux с использованием команд find и du .
Поиск больших файлов командой find
Простой поиск
Команда find имеет опцию -size , которая позволяет указать размер файлов для поиска.
Найдем файлы, которые занимают больше 1Gb:
- Символ точка . после самой команды find, означает, что поиск нужно вести в текущей директории. Вместо точки вы можете указать, например, корневой раздел / или путь до любой другой директории.
- -mount означает, что в процессе поиска не нужно переходить на другие файловые системы.
- -type f означает, что мы ищем файлы.
- -size +1G означает, что нужно найти файлы, размер которых превышает 1Gb. Размер можно указать в различных форматах:
- b — блоки размером 512 байт. Числом указывается количество блоков.
- c — в байтах. Например: -size +128с
- w — в двухбайтовых словах
- k — в килобайтах
- M — в мегабайтах
- G — в гигабайтах
- 2>/dev/null используется, чтобы не показывать ошибки (например, если нет доступа к файлу).
В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.
Вывод подробной информации
Добавим в вывод информацию о каждом файле и отсортируем список по размеру. Выполняем команду
Данная команда состоит из трех частей:
- Команда find ищет файлы, которые имеют размер больше 512 мегабайт.
- Результирующий список файлов передается команде xargs , которая, в свою очередь, запускает команду ls -lh над этим списком файлов. В результате получается таблица с файлами и информацией о файлах.
Опция -r , команды xarg, используется для того, чтобы не запускать команду ls, если команда find вернула пустой результат (не нашла файлов). Вместо -r можно использовать длинную запись — опцию —no-run-if-empty
Опция -d ’\n’ используется, чтобы разделять список файлов только по символу новой строки (по \n ). А у нас так и есть — каждый файл на новой строке. Иначе неправильно будут обработаны файлы, в названии которых содержится пробел, так как по умолчанию команда xarg в качестве разделителя использует одновременно пробел, табуляцию или символ новой строки.
Примечание: Для BSD-систем вместо -d ’\n’ нужно использовать опцию −0 , а у команды find вместо -print использовать -print0 . Пример: find . -mount -type f -size +512M -print0 2>/dev/null | xargs -0 ls -lh | sort -k5,5 -h -r
Ключ -h означает, что результат нужно вывести в удобно-читаемом виде (human-readable).
Ключ -r означает, что сортировку нужно выполнять по убыванию (reverse).
Поиск больших файлов и директорий командой du
Команда du используется для вывода размеров файлов и директорий в Linux. Ее можно использовать для поиска больших файлов и директорий. Для этого выполняется команда du и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.
Найдем пять самых больших файлов и директорий:
- Символ . указывает путь и означает текущую директорию. Для поиска в другой директории укажите вместо точки ее путь.
- Опции -ahx означают:
a — искать и файлы и директории;
h — выводить информацию в удобно-читаемом формате;
x — не выполнять поиск на других файловых системах. - sort -rh выполняет сортировку результата.
- head −5 выводит только пять первых результатов.