如何查看哪些文件占用了unix中最多的空间?

时间:2012-06-13 04:20:18

标签: unix

我使用过du -hdf -h,但我似乎无法确定实际文件占用的空间。当我删除文件时df -h仍然表示磁盘已满。此外,当我根据du -h删除文件时,sda2的空间不会减少。

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              13G   12G     0 100% /
/dev/sda1             251M   21M  218M   9% /boot
tmpfs                1006M     0 1006M   0% /dev/shm

3 个答案:

答案 0 :(得分:5)

查找大文件(具有名称)的技巧通常为du -a,通常通过管道传输到sort -n。这最后会为您提供最大的文件(因此小文件从页面顶部消失并不重要。)

你可能有一个进程仍然在运行时打开一个无名文件,当它有机会时它正在写入,这就是占用空间。这可以是打开以存储数据的临时文件,也可以是某人删除的日志文件。它使用的空间不会显示为可用空间,但它也不会显示为与du -a(或任何其他选项)一起使用,因为没有文件名。如果你不知道它是哪个进程,你可以使用重启来停止进程(所有进程),从而释放空间。

答案 1 :(得分:0)

参考df手册页:

`--no-sync'
     Do not invoke the `sync' system call before getting any usage data.
     This may make `df' run significantly faster on systems with many
     disks, but on some systems (notably SunOS) the results may be
     slightly out of date.  This is the default.

由于这是默认设置,我猜你正在获得一个可用空间的缓存视图。

答案 2 :(得分:0)

使用以下命令检查磁盘空间:

df -lh