Linux сортировка файлов размеру

Linux сортировка файлов размеру

Уделим немного времени знакомству с консольными утилитами ls, du и sort в ОС Linux. Рассмотрим их использование с основными ключами и в различных комбинациях, для сортировки файлов и директорий (папок) по размеру.

Использование утилиты ls в linux

1. Вывод списка файлов и директории.

[root@linux]# ls /var/log alternatives.log apt btmp devices dist-upgrade dpkg.log fsck lastlog lxd unattended-upgrades wtmp

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

2. Вывод списока файлов и директорий, включая скрытые файлы в виде «расширеного списка».

[root@linux]# ls -lha /var/log total 308K drwxrwxr-x 1 root syslog 512 Jun 28 21:55 . drwxr-xr-x 1 root root 512 Sep 22 2017 .. -rw-r--r-- 1 root root 364 Dec 19 2017 alternatives.log drwxr-xr-x 1 root root 512 Sep 22 2017 apt -rw-rw---- 1 root utmp 0 Sep 22 2017 btmp drwxr-xr-x 1 root root 512 Jun 28 23:40 devices drwxr-xr-x 1 root root 512 Jul 19 2017 dist-upgrade -rw-r--r-- 1 root root 18K Dec 19 2017 dpkg.log drwxr-xr-x 1 root root 512 Sep 22 2017 fsck -rw-rw-r-- 1 root utmp 286K Dec 19 2017 lastlog drwxr-xr-x 1 root root 512 Aug 23 2017 lxd drwxr-x--- 1 root adm 512 Aug 1 2017 unattended-upgrades -rw-rw-r-- 1 root utmp 0 Sep 22 2017 wtmp

«-l» — выводит расширеный листинг.

«-h» — выводит размер файлов в удобном для чтения формате (GB/MB/KB).

«-a» — выводит все файлы, в том числе и «скрытые».

Стоит отметить, что «ls» не может вычислять размер директорий, поэтому, для вывода размера директорий / каталогов / папок будем использовать утилиту «du».

Использование утилиты du в linux

1. Вывод списка директории c вложенными директориями.

[root@linux]# du /var 0 /var/backups 0 /var/cache/apparmor 0 /var/cache/apt/archives/partial 1856 /var/cache/apt/archives 61740 /var/cache/apt 3996 /var/cache/debconf 16 /var/cache/ldconfig 0 /var/cache/man/cat1 0 /var/cache/man/cat2 0 /var/cache/man/cat3 0 /var/cache/man/cat4 0 /var/cache/man/cat5 . . .

По-умолчанию «du» выводит размер, не только каждой директории, но и всех вложенных в нее директорий /каталогов / папок.

Читайте также:  My office standard linux

2. Вывод списка директории без вложенных директорий.

[root@linux]# du -h -s /var 22G /var

3. Вывод списка директории c одним уровнем вложения.

[root@linux]# du --max-depth=1 -h /var 0 /var/backups 65M /var/cache 0 /var/crash 108M /var/lib 0 /var/local 320K /var/log 0 /var/mail 0 /var/opt 0 /var/snap 0 /var/spool 0 /var/tmp 174M /var

«—max-depth=1» — задает уровень вложенности директорий равной 1.

«-h» — выводит размер файлов в удобном для чтения формате (GB/MB/KB).

Использование утилиты sort в linux

1. Вывод папок отсортированных по размеру.

[root@linux]# du --max-depth=1 /var | sort -nr 177160 /var 110432 /var/lib 66408 /var/cache 320 /var/log 0 /var/tmp 0 /var/spool 0 /var/snap 0 /var/opt 0 /var/mail 0 /var/local 0 /var/crash 0 /var/backups

«-r» — отображает в выводе самые большие числа вначале.

2. Вывод директорий / каталогов / папок отсортированных по размеру в мегабайтах.

3. Вывод директорий / каталогов / папок и файлов отсортированных по размеру.

4. Вывод директорий и файлов отсортированных по размеру и преведенный к удобному виду для восприятия размера (KB/MB/GB).

Самый сложный, но в тоже время самый информативный и красивый вывод.

du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done

5. Вывод директорий /каталогов / папок и файлов отсортированных по размеру в файл.

du -s *|sort -nr > name_file.txt

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

На этом все. Существует еще множество различных вариантов сортировки, так что предлагайте свои. Комментируем, подписываемся ну и всем пока:)

Источник

Как отсортировать все файлы по размеру с помощью ls в Linux

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

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

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

Читайте также:  Astra linux драйвер radeon

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

Как составить список или отсортировать все файлы по размеру в Linux

Список всех файлов, упорядоченных по размеру

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

Как составить список или отсортировать все файлы по размеру в Linux

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

Как составить список или отсортировать все файлы по размеру в Linux

Кроме того, вы можете сортировать в обратном порядке (от наименьшего к наибольшему), добавив опцию -r , как показано на рисунке.

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

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

Как составить список или отсортировать все файлы по размеру в Linux

Исключение каталогов при выводе списка или сортировке файлов по размеру

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

Список или сортировка всех файлов с использованием общего размера единицы измерения

В приведенных выше примерах размеры файлов были напечатаны в разных единицах измерения, т.е. в килобайтах (k) и мегабайтах (M).

Чтобы напечатать или отобразить все размеры файлов в определенной единице измерения, например, в мегабайтах, добавьте опцию —block-size= , указав мегабайты как M , как показано ниже.

Вывод показывает, что размеры файлов теперь только в MB.

NOTE : Для файлов меньше указанного размера (в данном случае МБ), размер будет округлен до ближайшего МБ. Это означает, что файлы в килобайтах и байтах будут отображаться как 1MB. То же самое будет справедливо для любого указанного размера.

Вы также можете вывести размер в единицах KB, заменив M на k:

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

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

Источник

Linux сортировка файлов размеру

Библиотека сайта rus-linux.net

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

$ ls -la ИЛИ $ ls -la /var/www/html/admin_portal/

List All Files in Linux

Список всех файлов в каталоге

Читайте также:  Intel x710 driver linux

Чтобы получить список файлов, отсортированный по размеру, используйте опцию -S . По умолчанию сортировка производится в порядке убывания (от больших к меньшим по размеру).

$ ls -laS /var/www/html/admin_portal/

List All Files Sort By Sizes

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

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

$ ls -laSh /var/www/html/admin_portal/

List Files Sort By Sizes in Linux

Список файлов, отсортированный по размеру, в человеко-читаемом формате

Если хотите получить список, отсортированный в обратном порядке, то есть по возрастанию, добавьте опцию -r , как в следующем примере.

$ ls -laShr /var/www/html/admin_portal/

List All Files Sort By Sizes in Reverse Order

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

Кроме того, вы можете получить рекурсивный список файлов в подкаталогах, если используете опцию -R .

$ ls -laShR /var/www/html/admin_portal/

List Sub-directories Recursively

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

Вы можете найти другие статьи о консольных командах, опубликованные на нашем сайте:

Источник

Вывод списка файлов с сортировкой

Команда ls - сортировка

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

Для того, чтобы отсортировать список файлов используются следующие опции:

Опции команды ls для сортировки файлов.

Опция Эквивалентная
опция
Описание
-U —sort=none без сортировки
-X —sort=extension сортировка по расширению файла
-S —sort=size сортировка по размеру
-t —sort=time сортировка по времени изменения
-v выполнять сортировку по версиям файлов
-r выполнять сортировку в обратном порядке

Например, мы хотим отсортировать список по размеру файлов, тогда выполняем команду:

Это эквивалентно следующей команде:

Аналогично, например, если мы хотим получить список, отсортированный по расширению файлов:

Вывод директорий над файлами

Обычно команда ls выводит директории вперемешку с файлами. Некоторые реализации команды ls поддерживают полезную опцию: —group-directories-first. Если данная опция указана, то все директории будут выводится над списком файлов, что очень удобно.

Дополнительную информацию по команде ls вы можете получить, выполнив в терминале: man ls.

Источник

Оцените статью
Adblock
detector