Я думаю, что Вы усложняете все.
Возможно, Вам только нужно это:
find $(pwd) -type d | sed 's/ /\\ /g'
Лучший способ узнать дисковое потребление, использует графическое программное обеспечение как baobab
:
Запустите его с sudo baobab /
Debian предлагает названную утилиту cruft
IIRC, который перечисляет файлы, которые могли возможно быть ненужными в Вашей системе.
Это даст Вам самые большие файлы на Вашем FS, и возможно Вы найдете там некоторые файлы, которые могут быть удалены.
find / -xdev -type f -size +100000c -exec ls -la {} \; 2>/dev/null | sort -nk5 | tail -20
Если Вы должны дольше произвести, просто изменить число после команды хвоста.
Отправьте вывод от:
df -h /
du -shx /
Обе команды должны показать подобное использованное пространство Вашего FS.
Можно проверить на удаленные файлы с lsof | grep -i deleted
Затем Вы видите, держится ли процесс за inode, что Вы думаете, был удален. Если так, перезапустите родительский процесс для выпуска старого (удаленного) файла.
ответ гирлянды для использования графического инструмента для визуального нахождения больших файлов и каталогов является, вероятно, лучшим методом. Однако обратите внимание, что "графический инструмент" не означает, "требует X-сервера"! Замечательное ncdu
программа обеспечивает вывод графических данных в CLI и работает отлично над удаленными серверами через SSH:
$ ncdu /
. 43.7GiB [##########] /home
. 5.9GiB [# ] /usr
1.1GiB [ ] /lib
. 1.1GiB [ ] /var
736.9MiB [ ] /opt
. 324.6MiB [ ] /tmp
218.4MiB [ ] /boot
. 63.8MiB [ ] /etc
10.0MiB [ ] /sbin
8.8MiB [ ] /bin
3.3MiB [ ] /lib32
. 1.0MiB [ ] /run
64.0KiB [ ] /build
! 16.0KiB [ ] /lost+found
8.0KiB [ ] /media
8.0KiB [ ] /mnt
8.0KiB [ ] /.config
4.0KiB [ ] /dev
4.0KiB [ ] /lib64
e 4.0KiB [ ] /srv
e 4.0KiB [ ] /selinux
! 4.0KiB [ ] /root
e 4.0KiB [ ] /cdrom
. 0.0 B [ ] /proc
. 0.0 B [ ] /sys
@ 0.0 B [ ] initrd.img.old
@ 0.0 B [ ] initrd.img
@ 0.0 B [ ] vmlinuz.old
Затем после ввода /var/
например:
. 395.3MiB [##########] /tmp
. 365.0MiB [######### ] /cache
. 297.8MiB [####### ] /lib
16.1MiB [ ] /backups
. 8.0MiB [ ] /log
. 56.0KiB [ ] /spool
40.0KiB [ ] /games
8.0KiB [ ] /www
e 4.0KiB [ ] /opt
e 4.0KiB [ ] /mail
e 4.0KiB [ ] /local
e 4.0KiB [ ] /crash
@ 0.0 B [ ] lock
@ 0.0 B [ ] run
Установите легко на Debian или Ubuntu:
$ sudo apt-get install ncdu
Установите легко на CentOS как корень:
# yum install ncdu
сделайте новый файл в /бин
под названием treesize
chmod +x /bin/treesize
вставьте это в него.
#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
BEGIN {
split("KB,MB,GB,TB", Units, ",");
}
{
u = 1;
while ($1 >= 1024) {
$1 = $1 / 1024;
u += 1
}
$1 = sprintf("%.1f %s", $1, Units[u]);
print $0;
}
'
Выход выглядит так.
#treesize
3.0 GB .
1.1 GB ./usr
759.9 MB ./var
353.3 MB ./root
307.1 MB ./opt
270.7 MB ./lib
98.6 MB ./home
60.1 MB ./boot
9.8 MB ./etc
8.3 MB ./bin
8.1 MB ./sbin
268.0 KB ./run
40.0 KB ./tmp
16.0 KB ./lost+found
Я нашел несколько очень полезных команд в этой публикации на Askubuntu.com .Перефразируя:
du -sk * | sort -nr | head -10
ls -lh / boot
sudo apt-get autoremove
и sudo apt-get autoclean
dpkg-query -W --showformat = '$ {Installed-Size} $ {Package} \ n '| sort -nr | less
sudo apt-get install localepurge
du -sh / var / tmp /
man deborphan
find / -type f -size + 1024k
или find / -size +50000 -exec ls -lahg {} \;
find. -atime +180 | xargs ls -al | sort -u -n -k5 | numfmt --to=iec --field=5
.
, время доступа которых превышает 180 дней Полезные ссылки о времени доступа:
ssh -X
илиForwardX11 yes
в~/.ssh/config
). Однако, если это не установлено, у Вас не могло бы быть достаточного количества пространства для установки его и необходимый каталог. – Gilles 'SO- stop being evil' 14.09.2012, 02:34