如何找到并清理 /dev/nvme0n1p2?

如何找到并清理 /dev/nvme0n1p2?

当我执行时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    /

这意味着/占用了 222 GB,但是上面的分区只有/42?

答案1

/系统的根目录。其他所有内容都安装在 的子目录中/。如果您查看mount或的输出,您可以更清楚地看到这一点lsblk。例如,在我的系统上:

$ lsblk 
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
nvme0n1     259:0    0 953.9G  0 disk  
├─nvme0n1p1 259:1    0   260M  0 part  
├─nvme0n1p2 259:2    0    16M  0 part  
├─nvme0n1p3 259:3    0   186G  0 part  
├─nvme0n1p4 259:4    0  1000M  0 part  
├─nvme0n1p5 259:5    0  56.6G  0 part  /
├─nvme0n1p6 259:6    0 680.1G  0 part  
│ └─home    254:0    0 680.1G  0 crypt /home
└─nvme0n1p7 259:7    0    30G  0 part  [SWAP]

这告诉我该分区nvme0n1p5已安装于 ,/并且该分区nvme0n1p6已安装于/home的一个子目录/

当你这样做时du /,它将搜索/ 以及任何子目录,即使它们位于不同的文件系统上。这就是您看到 222 GB 的原因:您除了检查 之外还检查了其他分区,nvme0n1p2因为它们可能安装在 下的某个位置/。您的 很可能/home位于不同的分区上,就像我的系统一样,因为/home报告的 是 176G 和 222G - 176G = 46G,这与 的输出一致df

如果只想查看 的使用情况/而不查看其他内容,则需要该-x标志。来自man du

  -x, --one-file-system
          skip directories on different file systems

再次以我的系统为例,您的原始命令给我:

$ sudo du -h --max-depth=1 / | sort -h
0   /proc
0   /sys
12K /srv
16K /lost+found
2.1M    /run
23M /tmp
27M /etc
54M /dev
71M /boot.old
72M /boot
315M    /root
2.1G    /opt
20G /var
21G /usr
228G    /home
270G    /

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

$ sudo du -xh --max-depth=1 / | sort -h
12K /srv
16K /lost+found
27M /etc
71M /boot.old
72M /boot
315M    /root
2.1G    /opt
20G /var
21G /usr
43G /

相关内容