- 🐧 Список всех каталогов и сортировка по размеру на Linux
- Как вывести список 10 самых больших каталогов
- Bash-скрипт для перечисления каталогов по размеру
- Размеры папок и дисков в Linux. Команды df и du
- Свободное место на диске (df)
- Примечание:
- Опция -h
- Размер конкретного диска
- Размер папок на диске (du)
- Просмотр размера текущей папки
- Посмотреть размеры всех папок
- Отобразить размеры всех вложенных папок
- Отсортировать папки по объёму
- Размеры папок и дисков в Linux. Команды df и du
- Свободное место на диске (df)
- Опция -h
- Размер конкретного диска
- Размер папок на диске (du)
- Вывести список папок с размером linux
- Использование утилиты ls в linux
- Использование утилиты du в linux
- Использование утилиты sort в linux
- Вывести список папок с размером linux
- Синтаксис
- Примеры использования
🐧 Список всех каталогов и сортировка по размеру на Linux
Когда дело доходит до очистки жесткого диска в системах Linux, чтобы освободить место или стать более организованным, полезно определить, какие каталоги занимают больше всего места на диске.
В этом руководстве мы покажем вам, как составить список всех каталогов и отсортировать их по их общему размеру в Linux с помощью примеров командной строки или скрипта Bash.
Как вывести список каталогов по размеру с помощью командной строки
Утилиты командной строки df и du – два лучших инструмента, которые у нас есть для измерения потребления диска в системах Linux.
Для проверки использования диска по папкам особенно полезна команда du.
При запуске du без каких-либо дополнительных параметров имейте в виду, что он будет проверять общее использование диска в каждом подкаталоге индивидуально.
В зависимости от того, насколько глубока ваша структура папок, это может быть огромное количество каталогов, и ваш терминал будет засыпан большим количеством спама.
В следующем примере мы запустим du в каталоге, полном ISO-файлов Linux, но это только один каталог по глубине.
Мы добавим параметр -h (удобочитаемый), чтобы было легче увидеть, сколько пространства занимают эти каталоги.
Мы видим, что папка AlmaLinux использует 11 ГБ, а папка Debian – только 349 МБ.
Общий объем всех этих папок составляет 44 ГБ, как указано в последней строке.
Посмотрим, что произойдет, если у нас будет более глубокая структура папок.
Как видите, каталоги «Debian-based» и «RHEL-based» имеют два и три подкаталога соответственно.
Вывод дает нам довольно подробный взгляд на то, сколько места использует каждый подкаталог.
Если у вас есть глубокая структура, мы можем использовать флаг –max-depth = N, чтобы указать du, сколько подкаталогов он должен пройти.
Чтобы отсортировать эти каталоги по размеру и упростить определение того, какие из них занимают больше всего места, мы можем передать нашу команду du утилите sort.
Если вы используете параметр -h для du, убедитесь, что вы также используете его для sort.
Или, чтобы ограничить количество рекурсивно просматриваемых каталогов:
В этих примерах мы запускали du из текущего рабочего каталога.
Имейте в виду, что вы можете указать любой каталог с помощью рассматриваемой команды – вам не обязательно находиться в каталоге, который вы проверяете.
Если вы попытаетесь запустить du в рутовом каталоге, чтобы увидеть пространство для хранения на всем диске, имейте в виду, что вам нужно выполнить эту команду с правами root, и вам следует перенаправить stderr в /dev/null, поскольку вы получите в вашем выводе много спама типа “permission denied”.
Как вывести список 10 самых больших каталогов
Используя приведенные выше команды, даже небольшие каталоги будут перечислены в выходных данных команды du.
Однако во многих случаях вас могут интересовать только 10 крупнейших каталогов или какое-то их количество.
В этом случае мы можем передать наш вывод команде head, чтобы показать только самые большие каталоги.
Обратите внимание, что мы также используем команду tail, чтобы не выводить размер родительского каталога, который в данном случае не имеет значения.
Bash-скрипт для перечисления каталогов по размеру
Команд du и sort, а также параметров, которые мы рассмотрели, должно быть достаточно, чтобы помочь вам легко проверить использование диска по папкам.
Вместо того, чтобы запоминать эти различные параметры команд и вводить их каждый раз, мы можем немного облегчить себе жизнь, поместив все это в скрипт.
Следующий скрипт принимает 2 аргумента.
Первым аргументом будет имя каталога, в котором мы начнем поиск, а вторым аргументом будет количество каталогов, которые скрипт должен вывести.
А вот пример выполнения сценария скрипта из командной строки:
Источник
Размеры папок и дисков в Linux. Команды df и du
Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
Примечание:
df не отображает информацию о не смонтированных дисках.
Опция -h
Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du. Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать. Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (—summarize). Также как и с df, добавим опцию -h (—human-readable).
Просмотр размера текущей папки
Чтобы показать объем просто одного текущего каталога (со всеми вложенными файлами + подкаталогами) подойдёт команда du с ключиком -sh.
Вот пример, как определить размер директории данного сайта:
Посмотреть размеры всех папок
Если нужно посчитать вес всех директорий плюс файлы — добавляем звёздочку:
Отобразить размеры всех вложенных папок
Чтобы проверить информацию в том числе вообще по всем папкам, вместе со вложенными — понадобится самый короткий вариант:
Внимание: если такой случайно запустить в корне на объёмном диске с большим количеством информации — лучше сразу жмите CTRL-C, т.к. во-первых, иначе придётся сильно подождать 😉 , во-вторых, десятки-сотни экранов информации будут бессмысленными. Потому эта простая команда должна использоваться лишь для, соответственно, простых случаев.
Отсортировать папки по объёму
Покажет объём в килобайтах с сортировкой — самые большие папки/файлы сверху. Если нужно в мегабайтах:
К сожалению более удобный ключик h («human» — автовыбор кило-мега-гига) в данном случае (du -sh *| sort -nr) не подойдёт, т.к. сортировка идёт по «числам» (не учитывая, что это KB/MB/GB). Для этого придётся использовать длинную команду:
Источник
Размеры папок и дисков в Linux. Команды df и du
Рассмотрим, как используя команды df и du просматривать свободное место на дисках и размеры папок в Linux.
Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
Примечание: df не отображает информацию о не смонтированных дисках.
Опция -h
Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du.
Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать.
Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (—summarize). Также как и с df, добавим опцию -h (—human-readable).
Источник
Вывести список папок с размером linux
Уделим немного времени знакомству с консольными утилитами ls, du и sort в ОС Linux. Рассмотрим их использование с основными ключами и в различных комбинациях, для сортировки файлов и директорий (папок) по размеру.
Использование утилиты ls в linux
1. Вывод списка файлов и директории.
Данный вывод неинформативен поэтому лучше использовать ls вместе с ключами.
2. Вывод списока файлов и директорий, включая скрытые файлы в виде «расширеного списка».
«-l» — выводит расширеный листинг.
«-h» — выводит размер файлов в удобном для чтения формате (GB/MB/KB).
«-a» — выводит все файлы, в том числе и «скрытые».
Стоит отметить, что «ls» не может вычислять размер директорий, поэтому, для вывода размера директорий / каталогов / папок будем использовать утилиту «du».
Использование утилиты du в linux
1. Вывод списка директории c вложенными директориями.
По-умолчанию «du» выводит размер, не только каждой директории, но и всех вложенных в нее директорий /каталогов / папок.
2. Вывод списка директории без вложенных директорий.
3. Вывод списка директории c одним уровнем вложения.
«—max-depth=1» — задает уровень вложенности директорий равной 1.
«-h» — выводит размер файлов в удобном для чтения формате (GB/MB/KB).
Использование утилиты sort в linux
1. Вывод папок отсортированных по размеру.
«-n» — сортировка по числам.
«-r» — отображает в выводе самые большие числа вначале.
2. Вывод директорий / каталогов / папок отсортированных по размеру в мегабайтах.
3. Вывод директорий / каталогов / папок и файлов отсортированных по размеру.
4. Вывод директорий и файлов отсортированных по размеру и преведенный к удобному виду для восприятия размера (KB/MB/GB).
Самый сложный, но в тоже время самый информативный и красивый вывод.
5. Вывод директорий /каталогов / папок и файлов отсортированных по размеру в файл.
Данный вариант может быть полезен, например в случае очень большошо количества строк в выводе.
На этом все. Существует еще множество различных вариантов сортировки, так что предлагайте свои. Комментируем, подписываемся ну и всем пока:)
1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>
Источник
Вывести список папок с размером linux
В операционных системах на базе Linux посмотреть размер папки (директории) можно с помощью команды du. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.
Синтаксис
Общий синтаксис команды du следюущий:
Примеры использования
Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:
8 ./share/gegl-0.2/plug-ins
12 ./share/gegl-0.2
16 ./share/rhythmbox
56 ./share/icons/hicolor/16×16/apps
60 ./share/icons/hicolor/16×16
208 ./share/icons/hicolor/256×256/apps
212 ./share/icons/hicolor/256×256
64 ./share/icons/hicolor/48×48/apps
68 ./share/icons/hicolor/48×48
56 ./share/icons/hicolor/32×32/apps
60 ./share/icons/hicolor/32×32
404 ./share/icons/hicolor
408 ./share/icons
Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:
Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:
Для того, чтобы узнать общий размер, который занимает определенная папка вызовите команду du с ключем -s:
Лучше будет запустить команду du с ключами -s и -h совместно:
Тогда вывод воспринять легче:
Ключ -c используется для подсчета общей суммы размеров папок так:
Другая удобная опция команды du это ключ —max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:
Пример результатов работы:
2.9M ./.nbi
948K ./.local
104K ./.gconf
12K ./.gnome2
4.0K ./.gnome2_private
44K ./.filezilla
356K ./.cache
12K ./Desktop
4.0K ./.gvfs
1.2M ./.gem
12K ./.dbus
86M ./.cpan
26M ./perl5
1.5M ./.java
80K ./.config
16K ./.ssh
4.0K ./.pulse
165M .
Источник