- Как в Linux вывести список всех файлов каталога, упорядоченный по размеру
- Поиск больших файлов и директорий в Linux
- Поиск больших файлов командой find
- Простой поиск
- Вывод подробной информации
- Поиск больших файлов и директорий командой du
- Размер файла в Linux
- Размер файла в Linux
- 1. Nautilus
- 2. Команда ls
- 3. Утилита stat
- 4. Утилита du
- 5. Утилита ncdu
- 6. Утилита find
- Выводы
- 🐧 Список всех каталогов и сортировка по размеру на Linux
- Как вывести список 10 самых больших каталогов
- Bash-скрипт для перечисления каталогов по размеру
Как в Linux вывести список всех файлов каталога, упорядоченный по размеру
Оригинал: How to List All Files Ordered by Size in Linux
Автор: Aaron Kili
Дата публикации: January 18, 2020.
Перевод: В.Костромин
Дата перевода: 4 мая 2020 г.
В одной из наших предыдущих заметок о популярной команде ls, мы рассказали как получить список файлов, отсортированный по времени изменения (дате и времени) в Linux. В настоящей, короткой статье мы покажем несколько полезных опций команды ls , с помощью которых вы сможете получить список файлов каталога, отсортированный по размеру.
Чтобы получить список фалов в каком-то каталоге, откройте окно терминала и задайте приведенные ниже команды. Обратите внимание, что будучи запущена без параметров, команда ls выведет список файлов в текущем каталоге.
В следующем примере опция -l задает вариант вывода списка в длинном формате, а опция -a указывает ls , что нужно вывести все содержимое каталога, включая скрытые файлы и указание на родительский каталог (.) . Для того, чтобы строки . и .. не показывались, используйте опцию -A вместо -a .
Список всех файлов в каталоге
Чтобы получить список файлов, отсортированный по размеру, используйте опцию -S . По умолчанию сортировка производится в порядке убывания (от больших к меньшим по размеру).
Список файлов, отсортированный по размеру
Вы можете получить отображение размера файла в человеко-читаемом формате, если добавите опцию -h как показано в следующем примере.
Список файлов, отсортированный по размеру, в человеко-читаемом формате
Если хотите получить список, отсортированный в обратном порядке, то есть по возрастанию, добавьте опцию -r , как в следующем примере.
Список файлов, отсортированный по размеру в порядке возрастания
Кроме того, вы можете получить рекурсивный список файлов в подкаталогах, если используете опцию -R .
Рекурсивный список файлов в подкаталогах
Вы можете найти другие статьи о консольных командах, опубликованные на нашем сайте:
Источник
Поиск больших файлов и директорий в 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 выводит только пять первых результатов.
Источник
Размер файла в Linux
В этой небольшой статье мы поговорим о том, как узнать размер файла в Linux с помощью различных утилит. Проще всего узнать этот параметр в графическом интерфейсе, но многим часто приходится работать в терминале и надо знать как эта задача решается там.
Вы узнаете как посмотреть размер файла через файловый менеджер, утилиту ls, а также du. Об этих утилитах у нас есть отдельные статьи, но эта будет нацелена именно на просмотр размера конкретного файла.
Размер файла в Linux
1. Nautilus
Чтобы посмотреть размер файла в файловом менеджере сначала найдите нужный файл и кликните по нему правой кнопкой мыши. В открывшемся меню выберите Свойства:
Программа откроет окно, в котором будут указаны свойства файла, среди них будет и размер:
2. Команда ls
Для того чтобы утилита ls отображала размер файлов в удобном для чтения формате необходимо использовать параметр -h. Например:
Здесь размер отображается в пятой колонке. Чтобы увидеть размер определённого файла надо передать его имя утилите:
ls -lh ‘Снимок экрана от 2020-08-10 20-22-50.png’
Можно ещё вручную указать единицы измерения для показа размера. Для этого используйте опцию —block-size. Например, мегабайты:
ls -l —block-size=M
Вместо ls можно использовать команду ll, её вывод полностью аналогичен команде ls -l:
3. Утилита stat
Программа stat кроме метаданных позволяет выводить размер файла в байтах. Например:
stat ‘Снимок экрана от 2020-08-10 20-22-50.png’
Если нужно показать только размер, используйте опцию -с с указанием формата %s:
stat -c %s ‘Снимок экрана от 2020-08-10 20-22-50.png’
4. Утилита du
Программа du специально предназначена для просмотра размера файлов в папке. Вы можете просмотреть размер конкретного файла, например:
du -h ‘Снимок экрана от 2020-08-10 20-22-50.png’
Опция -h включает вывод размера в удобном для чтения формате. Если вы хотите посмотреть размеры для всех файлов в папке, просто передайте путь к папке:
А чтобы узнать размер папки в Linux используйте опцию -s. Она суммирует размеры всех объектов:
5. Утилита ncdu
Программа ncdu позволяет анализировать дисковое пространство занимаемое файлами и каталогами. Но она не поставляется вместе с системой. Для её установки выполните:
sudo apt install ncdu
Затем просто укажите в параметрах каталог, размер которого вы хотите посмотреть:
Все файлы будут отсортированы по размеру, а в самом низу будет отображен общий размер этой папки:
6. Утилита find
С помощью этой утилиты вы не можете узнать размер файла, зато можете найти файлы с определённым размером. С помощью параметра size можно указать границы размера файлов, которые надо найти. Например, больше чем 2000 килобайт, но меньше чем 2500 килобайт:
/Изображения/ -size +2000k -size -2500k
Размер можно ещё указывать в мегабайтах для этого используйте приставку M, или в байтах, тогда никакой приставки не нужно.
Выводы
В этой небольшой статье мы разобрались как узнать размер файлов 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 аргумента.
Первым аргументом будет имя каталога, в котором мы начнем поиск, а вторым аргументом будет количество каталогов, которые скрипт должен вывести.
А вот пример выполнения сценария скрипта из командной строки:
Источник