В сегодняшней статье мы собираемся показать вам, как найти большие файлы в Linux. Одним из наиболее распространенных манипуляция, которые вы будете делать, как системный администратор Linux, это находить ненужные большие файлы, которые занимают дисковое пространство, и удалять их, чтобы освободить место для приложений, которые нуждаются в дополнительном пространстве. Давайте углубимся и узнаем, как мы можем найти большие файлы в Linux.
Во-первых, мы посмотрим на то, как мы можем найти самые большие файлы и каталоги в Linux, выполнив следующую команду, чтобы найти топ-10 больших каталогов и файлов на сервере Linux:
# du -ah /* 2>/dev/null | sort -rh | head -n 10
Вывод должен показать вам самые большие каталоги и файлы:
4.3G /backup 1.2G /usr 1.2G /var 845M /home 698M /var/lib 675M /odoo 634M /usr/lib 621M /odoo/odoo-server 622M /home/largefile3 398M /odoo/odoo-server/addons
Эта команда может быть очень полезна, когда вам необходимо проверить размер каталогов в корневом разделе, чтобы получить представление о том, как используется распределяется пространство на сервере, с помощью следующей команды вы можете найти топ 10 крупнейших каталогов в корневом разделе:
# du -sh /*/ 2>/dev/null | sort -rh | head -n 10
Вывод должен показать вам самые большие каталоги:
4.3G /backup 1.2G /usr/ 1.2G /var/ 845M /home/ 675M /odoo/ 143M /opt/ 51M /lib/ 39M /run/ 29M /root/ 9M /bin/
Кроме того, можно использовать следующую команду, чтобы проверить размер подкаталогов данного каталога, в данном случае мы будем использовать каталог «var»:
# find /var/* -type d -exec du -sh {} 2>/dev/null + | sort -rh | head -n 10
Вывод должен перечислить поддиректории каталога «var»:
723M /var/lib 295M /var/cache 38M /var/www 2.8M /var/log 87K /var/spool 48K /var/backups 19K /var/mail 9K /var/tmp 4.0K /var/opt 4.0K /var/local
Иногда вы можете искать большие файлы, особенно большие лог-файлы, которые могут довольно быстро заполнить ваш сервер, с помощью следующей команды вы можете найти топ 10 самых больших файлов на сервере:
# find / -type f -exec du -sh {} 2>/dev/null + | sort -rh | head -n 10
Вывод должен показать вам самые большие файлы:
487M /home/largefile3 345M /home/largefile2 211M /home/largefile1 123M /odoo/odoo-server/.git/objects/pack/pack-dcf71f4c259beb1fgt56е3b4a00a45e1f2a8382.pack 123M /backup/odoo/odoo-server/.git/objects/pack/pack-dcвdd1f4c259beb35445666аb4a00a45e1f2a8382.pack 98M /var/lib/mongodb/journal/WiredTigerPreplog.0000000002 197M /var/lib/mongodb/journal/WiredTigerPreplog.0000000001 100M /backup/var/lib/mongodb/journal/WiredTigerPreplog.0000000002 100M /backup/var/lib/mongodb/journal/WiredTigerPreplog.0000000001 66M /var/lib/mysql/ibdata1
Если вы ищете большие файлы с определенным расширением, вы можете найти топ 10 самых больших файлов по их расширению с помощью следующей команды, мы будем использовать расширение «deb» в этом случае:
# find / -type f -iname "*.deb" -exec du -sh {} + | sort -rh | head -10
Вывод должен показать вам самые большие файлы, содержащие указанное расширение:
30M /var/cache/apt/archives/mongodb-org-tools_3.2.14_amd64.deb 30M /backup/var/cache/apt/archives/mongodb-org-tools_3.2.14_amd64.deb 26M /var/cache/apt/archives/libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb 26M /backup/var/cache/apt/archives/libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb 13M /opt/wkhtmltox-0.12.1_linux-trusty-amd64.deb 13M /backup/opt/wkhtmltox-0.12.1_linux-trusty-amd64.deb 9.5M /var/cache/apt/archives/mongodb-org-server_3.2.14_amd64.deb 9.5M /backup/var/cache/apt/archives/mongodb-org-server_3.2.14_amd64.deb 7.9M /var/cache/apt/archives/g++-5_5.4.0-6ubuntu1~16.04.4_amd64.deb 7.9M /backup/var/cache/apt/archives/g++-5_5.4.0-6ubuntu1~16.04.4_amd64.deb