如何定位并清理/dev/nvme0n1p2?

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。例如,在我的系统上:

\n
$ 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]\n
Run Code Online (Sandbox Code Playgroud)\n

这告诉我该分区nvme0n1p5安装在 ,/并且该分区nvme0n1p6安装在/home的子目录上/

\n

当您这样做时du /,它将搜索/ 所有子目录,即使它们位于不同的文件系统上。这就是您看到 222 GB 的原因:您还检查了其他分区,因为nvme0n1p2它们可能安装在/. 很可能您的/home分区位于不同的分区上,就像我的系统上的情况一样,因为您的/home报告大小为 176G 且 222G - 176G = 46G,这与df.

\n

要仅查看 的用法/而不查看其他内容,您需要该-x标志。从man du

\n
  -x, --one-file-system\n          skip directories on different file systems\n
Run 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    /\n
Run Code Online (Sandbox Code Playgroud)\n

但如果我添加-x,我会得到预期的输出:

\n
$ 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 /\n
Run Code Online (Sandbox Code Playgroud)\n