- Linux сортировка файлов размеру
- Использование утилиты ls в linux
- Использование утилиты du в linux
- Использование утилиты sort в linux
- Как отсортировать все файлы по размеру с помощью ls в Linux
- Список или сортировка всех файлов по размеру в Linux
- Список всех файлов, упорядоченных по размеру
- Список или сортировка файлов по размеру в соответствии с определенным типом файла
- Исключение каталогов при выводе списка или сортировке файлов по размеру
- Список или сортировка всех файлов с использованием общего размера единицы измерения
- 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» выводит размер, не только каждой директории, но и всех вложенных в нее директорий /каталогов / папок.
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 просто перечисляет файлы и папки внутри каталога.
В следующей команде флаг -l означает длинный список, а -a указывает ls перечислить все файлы, включая скрытые – которые имеют префикс точка (.) . Чтобы избежать отображения файлов . и .. , используйте опцию -A вместо -a .
Список всех файлов, упорядоченных по размеру
Чтобы вывести список всех файлов и отсортировать их по размеру, используйте флаг -S . По умолчанию он отображает результаты в порядке убывания (от самого большого до самого маленького размера).
Вы можете отобразить результаты в человекочитаемом формате, добавив опцию -h , как показано на рисунке.
Кроме того, вы можете сортировать в обратном порядке (от наименьшего к наибольшему), добавив опцию -r , как показано на рисунке.
Список или сортировка файлов по размеру в соответствии с определенным типом файла
Вы можете перечислить или отсортировать файлы по размеру, применив тип файла в качестве фильтра. Например, чтобы перечислить или отсортировать файлы zip по размеру, используйте символ подстановки, как показано на рисунке.
Исключение каталогов при выводе списка или сортировке файлов по размеру
Чтобы исключить каталоги при выводе списка или сортировке файлов по размеру, используйте следующий синтаксис:
Список или сортировка всех файлов с использованием общего размера единицы измерения
В приведенных выше примерах размеры файлов были напечатаны в разных единицах измерения, т.е. в килобайтах (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/
Список всех файлов в каталоге
Чтобы получить список файлов, отсортированный по размеру, используйте опцию -S . По умолчанию сортировка производится в порядке убывания (от больших к меньшим по размеру).
$ ls -laS /var/www/html/admin_portal/
Список файлов, отсортированный по размеру
Вы можете получить отображение размера файла в человеко-читаемом формате, если добавите опцию -h как показано в следующем примере.
$ ls -laSh /var/www/html/admin_portal/
Список файлов, отсортированный по размеру, в человеко-читаемом формате
Если хотите получить список, отсортированный в обратном порядке, то есть по возрастанию, добавьте опцию -r , как в следующем примере.
$ ls -laShr /var/www/html/admin_portal/
Список файлов, отсортированный по размеру в порядке возрастания
Кроме того, вы можете получить рекурсивный список файлов в подкаталогах, если используете опцию -R .
$ ls -laShR /var/www/html/admin_portal/
Рекурсивный список файлов в подкаталогах
Вы можете найти другие статьи о консольных командах, опубликованные на нашем сайте:
Вывод списка файлов с сортировкой
Поделюсь удобными параметрами команды ls для сортировки списка файлов. Команда ls предназначена для вывода списка файлов и директорий, но по умолчанию она сортирует список по имени.
Для того, чтобы отсортировать список файлов используются следующие опции:
Опция | Эквивалентная опция | Описание |
---|---|---|
-U | —sort=none | без сортировки |
-X | —sort=extension | сортировка по расширению файла |
-S | —sort=size | сортировка по размеру |
-t | —sort=time | сортировка по времени изменения |
-v | выполнять сортировку по версиям файлов | |
-r | выполнять сортировку в обратном порядке |
Например, мы хотим отсортировать список по размеру файлов, тогда выполняем команду:
Это эквивалентно следующей команде:
Аналогично, например, если мы хотим получить список, отсортированный по расширению файлов:
Вывод директорий над файлами
Обычно команда ls выводит директории вперемешку с файлами. Некоторые реализации команды ls поддерживают полезную опцию: —group-directories-first. Если данная опция указана, то все директории будут выводится над списком файлов, что очень удобно.
Дополнительную информацию по команде ls вы можете получить, выполнив в терминале: man ls.