Рано или поздно все задаются вопросом свободного места в Linux. Необходим поиск больших файлов, занятого места Linux.
Разберем как можно выяснить кто занимает место в системе, какие файлы и директории заполняют диск.
Команда df (disk free) — Показывает использованный и свободный объем дискового пространства.
Команда du (disk usage) — Показывает какими файлами и папками занято дисковое пространство.
1. Команда df (disk free).
1.1 Показывает размер дискового пространства в килобайтах.
[root@Zabbix ~]# df Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в /dev/mapper/cl-root 52403200 15788852 36614348 31% / devtmpfs 1930492 0 1930492 0% /dev tmpfs 1940988 0 1940988 0% /dev/shm tmpfs 1940988 8856 1932132 1% /run tmpfs 1940988 0 1940988 0% /sys/fs/cgroup /dev/sda1 1038336 186012 852324 18% /boot /dev/mapper/cl-home 47285700 39076 47246624 1% /home tmpfs 388200 0 388200 0% /run/user/0
1.2. Более удобный вид вывод с помощью ключа -h:
[root@Zabbix ~]# df -h Файловая система Размер Использовано Дост Использовано% Cмонтировано в /dev/mapper/cl-root 54G 17G 38G 31% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 9.1M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda1 1.1G 191M 873M 18% /boot /dev/mapper/cl-home 49G 41M 49G 1% /home tmpfs 398M 0 398M 0% /run/user/0
1.3. Если добавить ключ -T, дополнительно отображается тип файловой системы.
[root@Zabbix ~]# df -T -h Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в /dev/mapper/cl-root xfs 50G 16G 35G 31% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.7M 1.9G 1% /run
1.4. Вывод инодов ключом -i:
[root@Zabbix ~]# df -i Файловая система Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в /dev/mapper/cl-root 26214400 127580 26086820 1% / devtmpfs 482623 363 482260 1% /dev tmpfs 485247 1 485246 1% /dev/shm tmpfs 485247 462 484785 1% /run tmpfs 485247 16 485231 1% /sys/fs/cgroup /dev/sda1 524288 338 523950 1% /boot /dev/mapper/cl-home 23654400 293 23654107 1% /home tmpfs 485247 1 485246 1% /run/user/0
1.5. Исключить файловую систему tmpfs из вывода.
[root@Zabbix ~]# df -x tmpfs Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в /dev/mapper/cl-root 52403200 15788972 36614228 31% / devtmpfs 1930492 0 1930492 0% /dev /dev/sda1 1038336 186012 852324 18% /boot /dev/mapper/cl-home 47285700 39076 47246624 1% /home
2. Команда du (disk usage).
2.1. Указываем путь до исследуемой папки:
[root@Zabbix ~]# du -h /var/log 0 /var/log/ppp 76K /var/log/tuned 20M /var/log/audit 0 /var/log/chrony 2.2M /var/log/anaconda 0 /var/log/libvirt 0 /var/log/gdm 28K /var/log/cups 24M /var/log/sa 0 /var/log/qemu-ga 88K /var/log/mariadb 39M /var/log/httpd 30M /var/log/zabbix 116M /var/log
2.2. С помощью ключа -s можем посчитан общий размер директории включая поддиректории.
[root@Zabbix ~]# du -s /var/log 118532 /var/log [root@Zabbix ~]# du -s -h /var/log 116M /var/log
2.3. Опция -a вывод всех файлов и директорий указанного пути.
[root@Zabbix ~]# du -a -h /var/log/ 16M /var/log/httpd/access_log-20170723 4.0K /var/log/httpd/error_log-20170723 3.7M /var/log/httpd/access_log-20170730 4.0K /var/log/httpd/error_log-20170730 13M /var/log/httpd/access_log-20170807 4.0K /var/log/httpd/error_log-20170807 3.3M /var/log/httpd/access_log-20170813 2.6M /var/log/httpd/access_log 12K /var/log/httpd/error_log-20170813 4.0K /var/log/httpd/error_log 39M /var/log/httpd 16K /var/log/zabbix/zabbix_server.log-20170613.gz 4.0K /var/log/zabbix/zabbix_server.log-20170618.gz 916K /var/log/zabbix/zabbix_server.log-20170625.gz 1.2M /var/log/zabbix/zabbix_server.log-20170702.gz 1.1M /var/log/zabbix/zabbix_server.log-20170709.gz 1.8M /var/log/zabbix/zabbix_server.log-20170717.gz 112K /var/log/zabbix/.zabbix_server.log.swp 1.9M /var/log/zabbix/zabbix_server.log-20170723.gz 1.8M /var/log/zabbix/zabbix_server.log-20170730.gz 2.3M /var/log/zabbix/zabbix_server.log-20170807.gz 14M /var/log/zabbix/zabbix_server.log-20170813 4.8M /var/log/zabbix/zabbix_server.log 30M /var/log/zabbix
3. Полезные примеры.
3.1. Вывод файлов и каталогов с сортировкой по размерам от большего к меньшему.
[root@Zabbix ~]# du -a /var/log/ | sort -r -n | 118548 /var/log/ 39116 /var/log/httpd 29748 /var/log/zabbix 23740 /var/log/sa 19700 /var/log/audit 16192 /var/log/httpd/access_log-20170723 13828 /var/log/zabbix/zabbix_server.log-20170813 13296 /var/log/httpd/access_log-20170807 8200 /var/log/audit/audit.log.2 8200 /var/log/audit/audit.log.1
2.5. Вывод первых 5 файлов и каталогов с сортировкой по размерам от большего к меньшему.
[root@Zabbix ~]# du -a /var/log/ | sort -n -r | head -n 5 0 /var/log/cups/page_log 0 /var/log/cups/error_log 0 /var/log/cups/access_log 0 /var/log/chrony 0 /var/log/anaconda/ks-script-eUoegf.log
3.2. Вывод первых файлов и каталогов с сортировкой по размерам от большего к меньшему, содержащие в имени «zabbix»:
[root@Zabbix ~]# du -a /var/log/ | sort -n -r| grep zabbix 29748 /var/log/zabbix 13828 /var/log/zabbix/zabbix_server.log-20170813 4840 /var/log/zabbix/zabbix_server.log 2264 /var/log/zabbix/zabbix_server.log-20170807.gz 1908 /var/log/zabbix/zabbix_server.log-20170723.gz 1812 /var/log/zabbix/zabbix_server.log-20170717.gz 1780 /var/log/zabbix/zabbix_server.log-20170730.gz 1172 /var/log/zabbix/zabbix_server.log-20170702.gz 1092 /var/log/zabbix/zabbix_server.log-20170709.gz 916 /var/log/zabbix/zabbix_server.log-20170625.gz 112 /var/log/zabbix/.zabbix_server.log.swp 16 /var/log/zabbix/zabbix_server.log-20170613.gz 4 /var/log/zabbix/zabbix_server.log-20170618.gz
3.3.Выводим все файлы формата *.log:
[root@Zabbix ~]# du -a /var/log/ | grep "\.log" | sort -n -r 13828 /var/log/zabbix/zabbix_server.log-20170813 8200 /var/log/audit/audit.log.2 8200 /var/log/audit/audit.log.1 6976 /var/log/zabbix/zabbix_server.log 3316 /var/log/audit/audit.log 2264 /var/log/zabbix/zabbix_server.log-20170807.gz 1908 /var/log/zabbix/zabbix_server.log-20170723.gz 1812 /var/log/zabbix/zabbix_server.log-20170717.gz 1780 /var/log/zabbix/zabbix_server.log-20170730.gz 1524 /var/log/anaconda/journal.log 1172 /var/log/zabbix/zabbix_server.log-20170702.gz 1092 /var/log/zabbix/zabbix_server.log-20170709.gz 916 /var/log/zabbix/zabbix_server.log-20170625.gz 136 /var/log/anaconda/storage.log 112 /var/log/zabbix/.zabbix_server.log.swp 108 /var/log/anaconda/packaging.log 88 /var/log/mariadb/mariadb.log 76 /var/log/tuned/tuned.log 64 /var/log/yum.log 56 /var/log/Xorg.0.log.old 56 /var/log/Xorg.1.log.old 56 /var/log/Xorg.1.log 56 /var/log/Xorg.2.log.old 56 /var/log/Xorg.2.log 56 /var/log/Xorg.0.log 52 /var/log/anaconda/X.log 36 /var/log/anaconda/program.log 28 /var/log/anaconda/anaconda.log 16 /var/log/zabbix/zabbix_server.log-20170613.gz 16 /var/log/boot.log 8 /var/log/vmware-vmusr.log 4 /var/log/anaconda/ifcfg.log 4 /var/log/wpa_supplicant.log 4 /var/log/zabbix/zabbix_server.log-20170618.gz 0 /var/log/anaconda/ks-script-eUoegf.log
3.4. Видим, что в предыдущем выводе попадаются и файлы формата .gz и .swp, содержащие .log, исключаем их.
[root@Zabbix ~]# du -a /var/log/ | grep "\.log" | sort -s -n -r | grep -v -P "\.gz|\.swp" 13828 /var/log/zabbix/zabbix_server.log-20170813 8200 /var/log/audit/audit.log.2 8200 /var/log/audit/audit.log.1 6976 /var/log/zabbix/zabbix_server.log 3316 /var/log/audit/audit.log 1524 /var/log/anaconda/journal.log 136 /var/log/anaconda/storage.log 108 /var/log/anaconda/packaging.log 88 /var/log/mariadb/mariadb.log 76 /var/log/tuned/tuned.log 64 /var/log/yum.log 56 /var/log/Xorg.0.log.old 56 /var/log/Xorg.1.log.old 56 /var/log/Xorg.1.log 56 /var/log/Xorg.2.log.old 56 /var/log/Xorg.2.log 56 /var/log/Xorg.0.log 52 /var/log/anaconda/X.log 36 /var/log/anaconda/program.log 28 /var/log/anaconda/anaconda.log 16 /var/log/boot.log 8 /var/log/vmware-vmusr.log 4 /var/log/anaconda/ifcfg.log 4 /var/log/wpa_supplicant.log 0 /var/log/anaconda/ks-script-eUoegf.log
Таким образом мы можем произвести анализ занятого места Linux.
Более наглядно можете посмотреть в видео обзоре на нашем канале ITHELP21.