Уделим немного времени знакомству с консольными утилитами 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
Описание ключей:
"-n" - сортировка по числам.
"-r" - отображает в выводе самые большие числа вначале.
2. Вывод директорий / каталогов / папок отсортированных по размеру в мегабайтах.
du --max-depth=1 -m | sort -nr
3. Вывод директорий / каталогов / папок и файлов отсортированных по размеру.
du -s *|sort -nr
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
Данный вариант может быть полезен, например в случае очень большошо количества строк в выводе.
На этом все. Существует еще множество различных вариантов сортировки, так что предлагайте свои. Комментируем, подписываемся ну и всем пока:)
Компонент комментариев CComment