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

by itisgood

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

В этой статье мы объясним, как использовать параметр сортировки ls для отображения содержимого каталога по размеру.

1) Перечислить содержимое содержимого каталога при сортировке по размеру

Чтобы перечислить содержимое определенного каталога с сортировкой по размеру, мы будем использовать опции -lS с командой ls.

$ ls -lS /run
output
total 24
-rw-rw-r--.  1 root utmp 2304 Sep  8 14:58 utmp
drwxr-xr-x. 16 root root  400 Aug 21 13:18 systemd
drwxr-xr-x.  7 root root  160 Aug 26 14:59 udev
drwxr-xr-x.  4 root root  100 Aug 21 13:18 initramfs
drwxr-xr-x.  4 root root  100 Sep  8 03:31 lock
drwxr-xr-x.  3 root root  100 Aug 21 13:18 NetworkManager
drwxr-xr-x.  2 root root   60 Aug 21 13:18 dbus
drwxr-xr-x.  3 root root   60 Aug 21 13:18 log
drwx--x--x.  3 root root   60 Aug 21 13:18 sudo
drwxr-xr-x.  2 root root   60 Aug 21 13:18 tmpfiles.d
drwxr-xr-x.  2 root root   60 Aug 21 13:18 tuned
drwxr-xr-x.  3 root root   60 Sep  7 23:11 user
drwxr-xr-x.  2 root root   40 Aug 21 13:18 console
drwxr-xr-x.  2 root root   40 Aug 21 13:18 faillock
drwxr-x---.  2 root root   40 Aug 21 13:18 firewalld
drwxr-xr-x.  2 root root   40 Aug 21 13:18 mount
........

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

$ ls -s
output
total 1316
   4 anaconda-ks.cfg     4 Downloads                       180 index.html          0 smart.docx
   4 apache2             4 echo.txt                          4 nano.txt            0 smart.txt
   4 cat.txt             0 file.txt                          4 original-ks.cfg     0 test.txt

2) Список содержимого каталога с сортировкой по размеру

Чтобы перечислить содержимое определенного каталога с сортировкой по размеру, мы будем использовать опции -lSr с командой ls.

$ ls -lSr /run
output
total 24
-rw-------.  1 root root    0 Aug 21 13:18 xtables.lock
-rw-------.  1 root root    0 Aug 21 13:18 ebtables.lock
----------.  1 root root    0 Aug 21 13:18 cron.reboot
-rw-------.  1 root root    3 Aug 21 13:18 syslogd.pid
-rw-r--r--.  1 root root    4 Aug 21 13:18 sshd.pid
-rw-r--r--.  1 root root    4 Sep  9 08:17 dhclient-eth0.pid
-rw-r--r--.  1 root root    4 Aug 21 13:18 crond.pid
-rw-r--r--.  1 root root    4 Aug 21 13:18 auditd.pid
drwxr-xr-x.  2 root root   40 Aug 21 13:18 setrans
drwxr-xr-x.  2 root root   40 Aug 21 13:18 sepermit
drwxr-xr-x.  2 root root   40 Aug 21 13:18 plymouth
drwxrwxr-x.  2 root root   40 Aug 21 13:18 netreport
drwxr-xr-x.  2 root root   40 Aug 21 13:18 mount
drwxr-x---.  2 root root   40 Aug 21 13:18 firewalld
........

3) Сортировка выходных данных и размеров в удобном формате для чтения (например, 1K 48M 1G)

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

$ ls -lSh
output
total 1.3M
-rw-r--r--. 1 root root 1.1M Aug 26 15:45 GeoIP-1.5.0-11.el7.x86_64.rpm
-rw-r--r--. 1 root root 177K Aug 26 15:29 index.html
drwxr-xr-x. 2 root root 4.0K Sep  8 13:32 apache2
drwxr-xr-x. 2 root root 4.0K Sep  8 13:31 Desktop
drwxr-xr-x. 2 root root 4.0K Sep  8 13:32 Documents
drwxr-xr-x. 2 root root 4.0K Sep  8 13:32 Downloads
drwxr-xr-x. 2 root root 4.0K Sep  8 13:32 Pictures
.......

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

ls -l -S -h *.mp3
ls -l -S -h ~/Downloads/*.mp4 | more

Бонусные советы

4) Список в алфавитном порядке сортировки

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

$ ls
output
anaconda-ks.cfg  Desktop    echo.txt   index.html  Pictures  smart.txt
apache2  Documents  f.txt  nano.txt  printf.txt  vim.txt cat.txt
Downloads  GeoIP-1.5.0-11.el7.x86_64.rpm original-ks.cfg  smart.docx  vi.txt

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

$ ls -l /run
output
total 24
-rw-r--r--.  1 root root    4 Aug 21 13:18 auditd.pid
drwxr-xr-x.  2 root root   40 Aug 21 13:18 console
-rw-r--r--.  1 root root    4 Aug 21 13:18 crond.pid
----------.  1 root root    0 Aug 21 13:18 cron.reboot
drwxr-xr-x.  2 root root   60 Aug 21 13:18 dbus
-rw-r--r--.  1 root root    4 Sep  9 08:17 dhclient-eth0.pid
-rw-------.  1 root root    0 Aug 21 13:18 ebtables.lock
drwxr-xr-x.  2 root root   40 Aug 21 13:18 faillock
drwxr-x---.  2 root root   40 Aug 21 13:18 firewalld
..........

5) Список в обратном порядке по алфавиту

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

$ ls -lr /run
output
total 24
-rw-------.  1 root root    0 Aug 21 13:18 xtables.lock
-rw-rw-r--.  1 root utmp 2304 Sep  8 14:58 utmp
drwxr-xr-x.  3 root root   60 Sep  7 23:11 user
drwxr-xr-x.  7 root root  160 Aug 26 14:59 udev
drwxr-xr-x.  2 root root   60 Aug 21 13:18 tuned
drwxr-xr-x.  2 root root   60 Aug 21 13:18 tmpfiles.d
drwxr-xr-x. 16 root root  400 Aug 21 13:18 systemd
-rw-------.  1 root root    3 Aug 21 13:18 syslogd.pid
drwx--x--x.  3 root root   60 Aug 21 13:18 sudo
-rw-r--r--.  1 root root    4 Aug 21 13:18 sshd.pid
drwxr-xr-x.  2 root root   40 Aug 21 13:18 setrans
drwxr-xr-x.  2 root root   40 Aug 21 13:18 sepermit
drwxr-xr-x.  2 root root   40 Aug 21 13:18 plymouth
.......

6) Список скрытого содержимого каталога в алфавитном порядке сортировки

Чтобы отобразить скрытое содержимое определенного каталога, мы будем использовать опции -a или -all с командой ls.

$ ls -a /etc
  output
  .                        default                  gss             logrotate.d               pm              rsyslog.conf    sysctl.d
  ..                       depmod.d                 host.conf       machine-id                polkit-1        rsyslog.d       systemd
  adjtime                  dhcp                     hostname        magic                     popt.d          rwtab           system-release
  aliases                  DIR_COLORS               hosts           makedumpfile.conf.sample  postfix         rwtab.d         system-release-cpe
  ........

7) Список содержимого каталога в алфавитном порядке сортировки

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

$ ls -l /run
output
total 24
-rw-r--r--.  1 root root    4 Aug 21 13:18 auditd.pid
drwxr-xr-x.  2 root root   40 Aug 21 13:18 console
-rw-r--r--.  1 root root    4 Aug 21 13:18 crond.pid
----------.  1 root root    0 Aug 21 13:18 cron.reboot
drwxr-xr-x.  2 root root   60 Aug 21 13:18 dbus
-rw-r--r--.  1 root root    4 Sep  8 12:41 dhclient-eth0.pid
-rw-------.  1 root root    0 Aug 21 13:18 ebtables.lock
drwxr-xr-x.  2 root root   40 Aug 21 13:18 faillock
drwxr-x---.  2 root root   40 Aug 21 13:18 firewalld
drwxr-xr-x.  4 root root  100 Aug 21 13:18 initramfs
drwxr-xr-x.  4 root root  100 Sep  8 03:31 lock
drwxr-xr-x.  3 root root   60 Aug 21 13:18 log
........

 

You may also like

Leave a Comment