2 список всех файлов, отсортированных по размеру файла

Обновлено: 21.11.2024

Большинство файловых систем сортируют файлы в алфавитном порядке имен. Однако пользователь может иметь некоторые другие предпочтения и желать сортировать файлы на основе их размера. Это может сделать информацию о листинге более полезной и продуктивной. Когда дело доходит до вывода списка и сортировки файлов в Linux, мы доверяем команде ls и хотим, чтобы вы могли использовать ее таким образом, чтобы она идеально настраивала вывод в соответствии с вашими предпочтениями.

В этой статье мы объясним, как составить список файлов, отсортированных по размеру, в дереве каталогов. Это включает в себя список каталогов как в графическом интерфейсе пользователя, так и в командной строке.

Мы выполнили процедуры и команды, упомянутые в этой статье, в системе Debian 10 Buster. Однако вы можете повторить эти шаги в большинстве дистрибутивов Linux.

Сортировка файлов в файловом менеджере

Диспетчер файлов, который вы используете, имеет настройки по умолчанию, в основном в алфавитном порядке, для сортировки файлов и папок в каталоге. Однако вы можете установить пользовательские настройки, чтобы файлы сортировались в зависимости от их размера. Nautilus — файловый менеджер по умолчанию для Linux Debian и Ubuntu. Вот как вы можете сортировать файлы по размеру в Nautilus в Debian.

Метод 1. Откройте диспетчер файлов и нажмите стрелку вниз, расположенную на верхней панели, как показано ниже:

Появится список параметров, на основе которых вы можете сортировать файлы и папки в каталоге. Нажмите на параметр «Размер», чтобы отсортировать файлы по убыванию их размера.

Метод 2. Вы также можете настроить параметры своего файлового менеджера таким образом, чтобы он отображал файлы и папки на основе заданного критерия. Нажмите кнопку параметров на верхней панели следующим образом:

Затем нажмите на параметр «Настройки», чтобы открыть представление «Настройки» с открытой вкладкой «Представления». Перейдите на вкладку «Столбцы списка», которая позволяет установить порядок информации, отображаемой в представлении списка файлового менеджера.

Выберите параметр «Размер» и перетащите его наверх, чтобы этот критерий был приоритетным для сортировки файлов и папок.

Сортировка файлов в командной строке

Команда ls в Linux позволяет отображать файлы и информацию о них на основе критериев, которые вы указываете в виде различных флагов и их параметров. Если критерии не указаны, команда ls сортирует все записи в алфавитном порядке. Здесь мы будем использовать команду ls с разными флагами, чтобы она отображала файлы и папки в зависимости от их размера.

Вы можете открыть командную строку Debian, Терминал, выполнив поиск в средстве запуска приложений следующим образом:

Затем вы можете использовать параметр -S для сортировки файлов по размеру, начиная с самого большого:

Еще один вариант — использовать флаг сортировки с командой ls, используя следующий синтаксис:

Где ‘WORD’ можно использовать для указания следующих параметров:

  • нет вместо флага -U
  • размер- вместо флага -S
  • время вместо флага -t
  • версия- вместо флага -v
  • расширение- вместо флага -X

Теперь, когда нам нужно отсортировать наши файлы по размеру, мы заменим WORD на размер следующим образом:

Вот несколько вариантов, которые сделают сортировку по размеру более полезной для вас:

Распечатать длинный список

Чтобы напечатать список файлов, отсортированных по размеру, в продольном формате, вы можете использовать флаг -l с уже описанным флагом -S:

На изображении выше видно, что список не отображается в продольном формате.

Обратно распечатать список, отсортированный по размеру

Если вы хотите, чтобы команда ls сначала печатала файлы наименьшего размера, вы можете использовать флаг -r вместе с флагом -S:

Приведенная выше команда выводит отсортированный по длине список файлов и папок в каталоге, отсортированный по размеру.

Распечатайте более удобочитаемый список отсортированных файлов

Флаг -h при использовании с -S и -l печатает такие размеры, как 1K 234M 2G и т. д., которые более удобочитаемы. Вот как можно отсортировать файлы по размеру и сделать список более удобочитаемым:

Исключить каталоги при печати списка, отсортированного по размеру

Если вы хотите отсортировать только файлы в каталоге, а не папки, отсортированные по размеру, вы можете использовать команду grep следующим образом:

Вы видите, что эта команда только перечисляет файлы в каталоге вместе со всей другой информацией.

Это были различные способы, с помощью которых вы можете не только сортировать файлы по размеру, но и дополнительно настраивать список, используя некоторые другие часто используемые флаги. Так что независимо от того, используете ли вы пользовательский интерфейс Linux или командную строку, теперь вы можете сделать список файлов более информативным.

Об авторе

Карим Буздар

Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Он ведет блог на LinuxWays.

Если у вас есть несколько лет опыта работы с экосистемой Linux и вы хотите поделиться этим опытом с сообществом, ознакомьтесь с нашими Правилами участия.

1. Обзор

Как пользователи Linux, мы часто взаимодействуем с файловыми системами. Одной из распространенных задач является составление списка файлов и их сортировка по размеру.

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

2. Использование команд du и sort

Давайте создадим набор файлов и каталогов для примера:

Теперь давайте посмотрим на дерево каталогов, которое мы только что создали:

Мы можем использовать команды du и sort для отображения и сортировки файлов в соответствии с их размером:

Давайте посмотрим, какие параметры мы использовали для команды du:

  • -a: сообщает размер всех файлов, а не только каталогов
  • -h: сообщает размер в удобочитаемом формате, таком как килобайты (K), мегабайты (M), гигабайты ( г) и т. д.
  • –max-depth: показывает общий размер каталогов первого уровня

Мы можем использовать параметр -r в команде sort, чтобы генерировать выходные данные в порядке убывания.

Также обратите внимание, что этот подход подходит только в том случае, если мы хотим отсортировать по размеру целые каталоги, а не только отдельные файлы.

3. Использование команд ls и sort

Мы можем использовать комбинацию команд ls, grep и sort для отображения и сортировки файлов в соответствии с их размером:

В приведенном выше примере команда grep ‘^-’ исключает каталоги из вывода.

Теперь посмотрим, какие параметры мы использовали для ls:

  • -l: используется формат длинного списка. Размер файла отображается в пятом столбце
  • .
  • -h: сообщает размер в удобочитаемом формате, таком как килобайты (K), мегабайты (M), гигабайты (Г) и т. д.
  • -R: повторяется по подкаталогам

А для команды sort мы использовали:

  • -k: выполняет сортировку по ключу. В этом примере в качестве ключа сортировки используется пятый столбец.

4. С помощью команд найти и sort

Наконец, мы можем использовать комбинацию команд find и sort для отображения и сортировки файлов в соответствии с их размером:

Давайте посмотрим на параметры команды find, которые мы использовали:

  • -type f -ls: использует формат длинного списка команды ls для каждого файла. Размер файла показан в седьмом столбце.

А для команды sort мы использовали:

  • -n -k7: сортирует файлы в порядке возрастания в соответствии с их размером. В этом примере мы используем седьмой столбец в качестве ключа сортировки.

5. Заключение

В этом руководстве мы обсудили три практических метода составления списка и сортировки файлов по размеру. Команды, показанные в этом руководстве, можно использовать в повседневной жизни при работе с системой Linux.

Если у вас есть несколько лет опыта работы с экосистемой Linux и вы хотите поделиться этим опытом с сообществом, ознакомьтесь с нашими Правилами участия.

В данной статье кратко объясняется, как составить список или отобразить файлы и каталоги, упорядоченные по размеру. Этого легко добиться с помощью команды ls (список). Перед сортировкой файлов, чтобы объяснить каждую применяемую опцию, давайте сделаем длинный список, который будет печатать размеры файлов, среди дополнительной информации, без сортировки (на втором снимке экрана я объясняю, как сортировать), это достигается путем добавления -l (нижний регистр -l для длинного списка), как показано ниже:

В первой строке отображается полный размер каталога, в котором вы перечисляете файлы.При добавлении параметра -l выходные данные будут отображать права доступа к файлу в первом столбце, жесткие ссылки, владельца, группу, размер в байтах, месяц, день и время и, наконец, имя файла.< /p>

Если вы хотите отсортировать выходные данные по размеру файла, от большего к меньшему, вам нужно добавить параметр -S (сортировка).

Как видите, в выходных данных перечислены файлы и каталоги, отсортированные по размеру, но в байтах, что не очень удобно для человека (1 байт равен 0,000001 МБ в десятичном формате и 0,00000095367432 МБ в двоичном).

Чтобы распечатать вывод удобным для человека способом, вам нужно всего лишь добавить параметр -h (удобный для человека):

Как видно из выходных данных выше, теперь размеры файлов отображаются в ГБ, МБ, КБ и байтах.
Тем не менее, вы видите только обычные файлы без скрытых файлов, если вы хотите включить скрытые файлы в вывод, вам нужно добавить параметр -a (все), как показано ниже:

Как видите, скрытые файлы (начинающиеся с точки) теперь также печатаются.

Дополнительные советы:

Следующие дополнительные советы помогут вам ограничить вывод до определенного размера, отличного от байтов. Проблема с этой опцией заключается в том, что вывод никогда не будет точным, если размер файла меньше или больше, чем точное число единиц измерения.

Если вы хотите печатать в единицах определенного размера, укажите ls только для отображения всех файлов с ближайшим размером в этой единице, только вы можете добиться этого, например, чтобы печатать все файлы в мегабайтах, вы можете добавить –block-size= параметры, указывающие MB с M, как показано в синтаксисе и снимке экрана ниже:

Как вы можете видеть, теперь размер указан только в МБ, больший файл составляет 115 МБ, второй 69 МБ и т. д. Файлы с размером в КБ или байтах не будут напечатаны точно, они будут показаны как 1 МБ, что это ближайший размер, который можно распечатать, если он ограничен МБ.
В остальном вывод остается точно таким же.

Используя тот же параметр (–block-size=), вы можете отображать выходные данные в формате ГБ вместо МБ или байтов, синтаксис тот же, замените M на G, как в примере ниже:

Вы также можете напечатать размер в КБ, заменив M или G на K:

Во всех приведенных выше примерах будут перечислены файлы и каталоги, отсортированные по размеру в нужных вам единицах измерения, с разъясненной проблемой, упомянутой выше, вывод не будет точным для файлов, которые не соответствуют точному размеру единиц. Кроме того, в этих примерах не было скрытых файлов (которые начинаются с .). Для этого вам нужно будет добавить опцию -a (все), которая также будет отображать скрытые файлы, поэтому для печати файлов, отсортированных по размеру в байтах, выполните:

Как вы видите, скрытые файлы, начинающиеся с . (точка), такие как .xsession-errors, .ICEauthority и т. д.

Если вы хотите распечатать файлы и каталоги, отсортированные по размеру в МБ, включая скрытые файлы, запустите:

Чтобы распечатать или отобразить все файлы и каталоги, отсортированные по размеру, показанному в ГБ, включая скрытые файлы, запустите:

Как и в предыдущих командах, для печати файлов и каталогов, упорядоченных по размеру, указанному в КБ, включая запуск скрытых файлов:

Вывод:

Команда ls предоставляет множество функций, которые помогают нам управлять файлами и печатать информацию о них. Другим примером может быть использование ls для вывода списка файлов по дате (с опциями -lt).

Надеюсь, это руководство о том, как отсортировать все файлы по размеру в Linux, оказалось для вас полезным. Следите за LinuxHint, чтобы получать дополнительные советы и обновления по Linux и работе в сети.

Об авторе

Дэвид Адамс

Дэвид Адамс — системный администратор и писатель, специализирующийся на технологиях с открытым исходным кодом, программном обеспечении для обеспечения безопасности и компьютерных системах.

Каталог в системе Linux может содержать от нескольких файлов до сотен и тысяч файлов.

Возможно, вам потребуется отсортировать файлы по размеру в порядке возрастания или убывания. Причина сортировки файлов по размеру может быть разной. Мы можем захотеть найти файлы от самого большого к самому маленькому или наоборот.

Вы можете легко сортировать файлы с помощью команды ls.

В этом руководстве мы рассмотрим различные способы сортировки файлов по размеру с помощью команды ls.

В наших примерах мы будем сортировать файлы в каталоге /var/cache/apt/archives.

Содержание

Предпосылки

  • Доступ к компьютеру с Linux.
  • Желательно действовать от имени пользователя sudo без полномочий root, чтобы обеспечить безопасную среду.

Список файлов

Чтобы получить список файлов в Linux, мы обычно используем команду ls. Команда ls означает листинг и может использоваться без каких-либо параметров:

Когда мы выполняем эту команду, отображаются файлы в текущем каталоге.

Мы также можем использовать параметр -l для создания длинного списка файлов и каталогов:

Параметр -l содержит несколько деталей.

Сортировка файлов по размеру

До этого момента все было довольно просто. По умолчанию команда ls сортирует файлы в алфавитном порядке.

Сортировать файлы по убыванию (параметр -S)

Чтобы заставить ls сортировать файлы по размеру, мы можем использовать параметр -S, который по умолчанию сортирует файлы в порядке убывания.

В качестве альтернативы вы можете получить тот же результат, заменив -S на параметр --sort, и вы получите тот же результат.

Для этого нам нужно выполнить следующую команду:

Сортировка файлов по возрастанию (параметр -Sr)

Что, если нам нужно отсортировать файлы по их размеру в порядке возрастания, то есть в обратном порядке, чем мы сделали выше.

Мы можем сделать это, добавив -r в качестве параметра с параметром -S, который в основном будет просто перечислять файлы в обратном порядке убывания, то есть по возрастанию.

На этот раз выходные данные генерируются в порядке возрастания.

Как и прежде, мы также можем использовать параметр --sort. Мы просто добавим -r, и файлы будут перечислены в обратном порядке.

Сортировка файлов по размеру в удобочитаемом формате

Вместо того, чтобы перечислять файлы на основе их размера в байтах, мы также можем использовать параметр -h, чтобы сделать размер файла более удобочитаемым.

Людям проще понять размер файла в мегабайтах или гигабайтах, чем в длинном числовом формате, таком как 10472649.

Попробуем перечислить файлы, отсортировав их по возрастанию ( -Sr ), а также использовать параметр -h.

Теперь файлы сортируются по размеру в порядке возрастания, но в удобочитаемом формате. В этой команде мы создаем список файлов и каталогов, сортируя их по размеру файлов в порядке возрастания, а затем преобразовывая байты в более удобочитаемые форматы, такие как килобайты.

В выходных данных вместо размера в байтах, например 1984 или 1924, размер файла теперь указан как 1,9 КБ.

Заключение

Молодец. Надеемся, что это руководство помогло вам отсортировать файлы по размеру в Linux с помощью команды ls. Если у нас возникнут какие-либо проблемы, оставьте комментарий или свяжитесь с нами, и мы свяжемся с вами, как только сможем.

Читайте также: