Список всех файлов по размеру linux

Как в 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 используется, чтобы не показывать ошибки (например, если нет доступа к файлу).
Читайте также:  Линукс 2020 лучшие дистрибутивы linux для старого ноутбука

В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.

Вывод подробной информации

Добавим в вывод информацию о каждом файле и отсортируем список по размеру. Выполняем команду

Данная команда состоит из трех частей:

  • Команда 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

  • Затем результат команды ls передается команде sort , которая выполняет сортировку списка (таблицы) по пятой колонке — 5-я колонка содержит размеры файлов.
    Ключ -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 аргумента.

    Первым аргументом будет имя каталога, в котором мы начнем поиск, а вторым аргументом будет количество каталогов, которые скрипт должен вывести.

    А вот пример выполнения сценария скрипта из командной строки:

    Источник

    Читайте также:  Windows 10 matros edition 2020
    Оцените статью