当我执行以下命令时,如何找到哪些文件占用了更多空间?
df -kh
它给了我以下内容:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-root 32G 2.1G 29G 7% /
tmpfs 32G 0 32G 0% /dev/shm
/dev/sda1 283M 34M 234M 13% /boot
/dev/mapper/vg0-home 2.9G 154M 2.6G 6% /home
/dev/mapper/vg0-opt 7.5G 205M 6.9G 3% /opt
/dev/mapper/vg0-tmp 7.5G 21M 7.1G 1% /tmp
/dev/mapper/vg0-var 5.8G 1016M 4.5G 19% /var
我怎样才能找到其中的内容:
/dev/mapper/vg0-var
据我所知,每天都会不断地填满至少 2MB。有什么方法可以导航到该位置并检查文件系统中的内容吗?有什么方法可以找出该挂载点下最大的文件吗?
答案1
发布的输出显示/dev/mapper/vg0-var
已安装在 上/var
,因此您可以使用以下命令导航到该文件系统的根目录
cd /var
要查看每个文件和子目录使用了多少空间(暂时忽略隐藏文件),请使用
du -ks /var/*
日常日志文件很可能/var/log/
占每日增量的大部分或全部。许多现代类 UNIX 系统都启用了某种形式的日志轮转,因此日志会在新系统上累积一段时间,但随着配置日志的最大数量达到,旧日志将被删除,使用量将趋于稳定,大约如下:添加新内容时速度很快。
答案2
调整阈值(10)以适应口味,它只是抑制不感兴趣的目录:
du -k /var | awk '$1 >= 10' | sort -n
或者查看前十几个目录:du -k /var | sort -n | tail -12
这给出了目录大小。某个目录下的文件大小对应的命令是:
ls -l . | sort -nk5