Один из моих экземпляров AWS EC2 занимает более 222 ГБ. Но, к моему удивлению, когда я проверяю папку /root, я нахожу только один файл размером 5 МБ. Я не уверен, как очистить место на диске и как найти все эти скрытые файлы, которые занимают 222 ГБ места на диске.
когда я эту команду - du -shx /*
: Вот что я получил на выходе -
0 /bin
88M /boot
0 /dev
31M /etc
86M /home
0 /lib
0 /lib64
0 /local
0 /media
0 /mnt
2.2G /opt
du: cannot access ‘/proc/7699/task/7699/fd/3’: No such file or directory
du: cannot access ‘/proc/7699/task/7699/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/7699/fd/3’: No such file or directory
du: cannot access ‘/proc/7699/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/7828’: No such file or directory
0 /proc
222G /root
1.7M /run
0 /sbin
0 /srv
0 /sys
0 /tmp
3.1G /usr
5.7G /var
Как очистить папку /root? Когда я запускаю эту команду:, du -shx /root/*
я только что нашел файл размером 5 МБ, но он занимает 222 ГБ места на диске.
решение1
Я столкнулся с похожей проблемой, но вместо этого с моим домашним разделом.
Я прибег к чему-то более наглядно представляющему размер каждого подкаталога, напримердютризапустив команду dutree -s
с флагом -s, можно получить более минимальный результат в выбранном каталоге.
решение2
Вы можете использовать ncdu: эта программа сканирует любой каталог и позволяет вам просматривать его, выводя список текущих размеров файлов/папок.
Если он не установлен:
apt install ncdu
После этого: ncdu -rx /
Это рекурсивно просканирует все от корня (не путать с папкой /root). Затем вы можете перемещаться по файловой системе и проверять, что занимает место.
решение3
Команда du -shx /root/*
проверит все файлы в этой папке, соответствующие шаблону *
(по умолчанию это исключает скрытые файлы и каталоги).
Вы можете либо использовать shopt -s dotglob
для изменения поведения подстановки, либо явно указать /root/.*
в списке путей. Последнее, вероятно, будет иметь меньше неожиданных эффектов.