我正在尝试检查我的磁盘使用情况,因为我的根卷已满。我在 Centos 7.5 上。
我认为给予 du -x 标志会让它忽略已安装的卷。
但是当我检查这个 centos 盒子上的磁盘使用情况时,我得到了这个输出:
[root@bc1 /]# du -skx * | sort -nr | head -10
du: cannot access ‘proc/24813/task/24813/fd/3’: No such file or directory
du: cannot access ‘proc/24813/task/24813/fdinfo/3’: No such file or directory
du: cannot access ‘proc/24813/fd/3’: No such file or directory
du: cannot access ‘proc/24813/fdinfo/3’: No such file or directory
207749412 data
61255660 home
1114652 usr
177732 var
138592 boot
124312 root
52112 run
34276 etc
52 tmp
0 sys
但是 /data 分区是从另一个卷挂载的。我想将其排除。
[root@bc1 /]# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/sda 246G 199G 36G 85% /data
为什么 du 的 -x 标志不排除此卷?我如何让 du 仅显示根卷?
答案1
当您进入/
并使用星号时,du -skx *
您明确要求 du 查看数据。
echo *
应该阐明星号的作用。
不妨尝试du -skx /
一下。
答案2
我使用类似这样的方法检查“/”文件系统中的本地目录空间。cd /
for d in `ls /` ; do cat /proc/mounts | awk '{print $2}' > ./dummy_file ; if grep -q $d ./dummy_file; then echo " $d is in seperate mount " ; else du -sh $d ; fi ; done