Dan*_*jel 6 filesystem boot mount
当我执行时df -H我得到:
/dev/nvme0n1p2 63G 42G 18G 70% /
我想清理这个分区,因为它已使用了 70% 的空间,但如何找到它?文件在哪里?
如果我用 进行磁盘空间检查sudo du -h --max-depth=1 / | sort -h,我得到
0 /proc
0 /sys
4.0K /cdrom
4.0K /dev
4.0K /srv
8.0K /media
8.0K /mnt
16K /lost+found
768K /tmp
3.0M /run
14M /etc
180M /root
561M /boot
5.6G /opt
8.1G /snap
13G /var
21G /usr
176G /home
222G /
Run Code Online (Sandbox Code Playgroud)
这意味着/占用了222 GB,但上面的分区/只有42?
ter*_*don 20
这/是系统的根。其他所有内容都安装在 的子目录中/。mount如果您查看或的输出,您可以更清楚地看到这一点lsblk。例如,在我的系统上:
$ lsblk \nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS\nnvme0n1 259:0 0 953.9G 0 disk \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p1 259:1 0 260M 0 part \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p2 259:2 0 16M 0 part \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p3 259:3 0 186G 0 part \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p4 259:4 0 1000M 0 part \n\xe2\x94\x9c\xe2\x94\x80nvme0n1p5 259:5 0 56.6G 0 part /\n\xe2\x94\x9c\xe2\x94\x80nvme0n1p6 259:6 0 680.1G 0 part \n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80home 254:0 0 680.1G 0 crypt /home\n\xe2\x94\x94\xe2\x94\x80nvme0n1p7 259:7 0 30G 0 part [SWAP]\nRun Code Online (Sandbox Code Playgroud)\n这告诉我该分区nvme0n1p5安装在 ,/并且该分区nvme0n1p6安装在/home的子目录上/。
当您这样做时du /,它将搜索/ 所有子目录,即使它们位于不同的文件系统上。这就是您看到 222 GB 的原因:您还检查了其他分区,因为nvme0n1p2它们可能安装在/. 很可能您的/home分区位于不同的分区上,就像我的系统上的情况一样,因为您的/home报告大小为 176G 且 222G - 176G = 46G,这与df.
要仅查看 的用法/而不查看其他内容,您需要该-x标志。从man du:
-x, --one-file-system\n skip directories on different file systems\nRun Code Online (Sandbox Code Playgroud)\n再次以我的系统为例,您的原始命令给了我:
\n$ sudo du -h --max-depth=1 / | sort -h\n0 /proc\n0 /sys\n12K /srv\n16K /lost+found\n2.1M /run\n23M /tmp\n27M /etc\n54M /dev\n71M /boot.old\n72M /boot\n315M /root\n2.1G /opt\n20G /var\n21G /usr\n228G /home\n270G /\nRun Code Online (Sandbox Code Playgroud)\n但如果我添加-x,我会得到预期的输出:
$ sudo du -xh --max-depth=1 / | sort -h\n12K /srv\n16K /lost+found\n27M /etc\n71M /boot.old\n72M /boot\n315M /root\n2.1G /opt\n20G /var\n21G /usr\n43G /\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
9123 次 |
| 最近记录: |