Как отсортировать все файлы по размеру с помощью ls в Linux
Команда Linux ls – это удобный инструмент для перечисления файлов внутри каталога. В этой статье мы пойдем дальше и рассмотрим, как можно вывести список всех файлов в определенном каталоге и отсортировать их по размеру.
Список или сортировка всех файлов по размеру в Linux
Чтобы получить список всех файлов, содержащихся в каталоге, запустите терминал и выполните следующую команду. При вызове без аргументов команда ls просто перечисляет файлы и папки внутри каталога.
ls
В следующей команде флаг -l
означает длинный список, а -a
указывает ls перечислить все файлы, включая скрытые – которые имеют префикс точка (.)
. Чтобы избежать отображения файлов .
и ..
, используйте опцию -A
вместо -a
.
ls -la
Список всех файлов, упорядоченных по размеру
Чтобы вывести список всех файлов и отсортировать их по размеру, используйте флаг -S
. По умолчанию он отображает результаты в порядке убывания (от самого большого до самого маленького размера).
ls -laS
Вы можете отобразить результаты в человекочитаемом формате, добавив опцию -h
, как показано на рисунке.
ls -laSh
Кроме того, вы можете сортировать в обратном порядке (от наименьшего к наибольшему), добавив опцию -r
, как показано на рисунке.
ls -laShr
Список или сортировка файлов по размеру в соответствии с определенным типом файла
Вы можете перечислить или отсортировать файлы по размеру, применив тип файла в качестве фильтра. Например, чтобы перечислить или отсортировать файлы zip по размеру, используйте символ подстановки, как показано на рисунке.
ls -lhS *.zip
Исключение каталогов при выводе списка или сортировке файлов по размеру
Чтобы исключить каталоги при выводе списка или сортировке файлов по размеру, используйте следующий синтаксис:
ls -Slh | grep -v '^d'
Список или сортировка всех файлов с использованием общего размера единицы измерения
В приведенных выше примерах размеры файлов были напечатаны в разных единицах измерения, т.е. в килобайтах (k) и мегабайтах (M).
Чтобы напечатать или отобразить все размеры файлов в определенной единице измерения, например, в мегабайтах, добавьте опцию --block-size=
, указав мегабайты как M
, как показано ниже.
ls -laS --block-size=M
Вывод показывает, что размеры файлов теперь только в MB.
NOTE: Для файлов меньше указанного размера (в данном случае МБ), размер будет округлен до ближайшего МБ. Это означает, что файлы в килобайтах и байтах будут отображаться как 1MB. То же самое будет справедливо для любого указанного размера.
Вы также можете вывести размер в единицах KB, заменив M на k:
ls -laS --block-size=k
На этот раз размеры файлов точно отображаются в килобайтах, поскольку ни один файл не меньше килобайта, и поэтому округление до ближайшего килобайта не производится.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.linuxshelltips.com
Комментарии (0)