列出根分区的文件和文件夹

列出根分区的文件和文件夹

我的根分区已满,我打算稍微清理一下。但我对分区和文件夹感到困惑。即删除主目录中不需要的文件不会增加 / 分区大小,但如果我列出它,系统会显示另一张图片。

Filesystem      Size  Used Avail Use% Mounted on
udev            7,8G     0  7,8G   0% /dev
tmpfs           1,6G  1,7M  1,6G   1% /run
/dev/sda8        19G   17G  468M  98% /
tmpfs           7,8G  722M  7,1G  10% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           7,8G     0  7,8G   0% /sys/fs/cgroup
/dev/loop0      140M  140M     0 100% /snap/slack/24
/dev/loop1       55M   55M     0 100% /snap/core18/1754
/dev/loop4      129M  129M     0 100% /snap/sweethome3d-homedesign/9
/dev/loop5      145M  145M     0 100% /snap/slack/25
/dev/loop6       97M   97M     0 100% /snap/core/9436
/dev/sda2        96M   81M   16M  84% /boot/efi
/dev/sda10       28G  6,1G   21G  23% /home
tmpfs           1,6G   64K  1,6G   1% /run/user/1000
/dev/loop7       55M   55M     0 100% /snap/core18/1880
/dev/loop2       97M   97M     0 100% /snap/core/9665
/dev/sda7        15G   14G  1,7G  89% /media/alex/SASHA
alex@alex-HP-ProBook-430-G4:~$ df /root/
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda8       19091584 17619740    478976  98% /
alex@alex-HP-ProBook-430-G4:~$ df /
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda8       19091584 17619740    478976  98% /
alex@alex-HP-ProBook-430-G4:~$ sudo mount /dev/sda8 /mnt
alex@alex-HP-ProBook-430-G4:~$ cd /mnt/
alex@alex-HP-ProBook-430-G4:/mnt$ ls
bacula-console.conf.ucftmp-iatbDRUGJi  bacula-director.conf.ucftmp-iiJ0w1gZEH  bacula-fd.conf.ucftmp-3B2f7qUh3a  bacula-sd.conf.ucftmp-nBESqCvQnZ  bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old
alex@alex-HP-ProBook-430-G4:/mnt$

目前还不清楚什么占用了 /dev/sda8 分区的 17G,以及哪些文件夹属于它

答案1

第一次标准清理和更新。

sudo apt-get update
sudo apt-get upgrade
apt-get autoremove
sudo apt-get autoclean

Autoclean 会清理用于安装的下载档案(.gz 或 .tar)。Autoremove 会清理不再需要的库。

然后我们可以开始用 du 搜索大文件夹。

apt 缓存的大小(通常是一个问题)

sudo du -sh /var/cache/apt/archives

find ~/.cache/ -depth -type f -atime +365 

删除所有旧的缓存条目,可以更改为任意天数。

find ~/.cache/ -type f -atime +365 -delete

如果没有问题,我也会删除旧日志。

find /var/log/ -type f -atime +10  -name *.gz* -print -exec rm {} \;

houseclean journalctl 超过 10 天

journalctl --vacuum-time=10d

然后,如果不是典型的缓存,我们可以搜索。cd / 或 cd /home

sudo du -hc --max-depth=1

或者然后将最大的文件夹从 / 更改为该文件夹 - /var 作为示例并继续深入:

sudo du -hx --max-depth=1 / 2> /dev/null
sudo du -hx --max-depth=1 /var 2> /dev/null

有一次我忘记挂载我的备份,它把整个东西都放到了 / 中。我几乎没有空间,所以系统没有崩溃,但根目录几乎满了。

您还可以检查大文件夹和文件:

sudo du -h --max-depth=1 / | grep '[0-9]G\>'   # folders larger than 1GB
sudo find / -name '*' -size +1G    # files larger than 1GB

或者安装 ncdu 并从 / 向下钻取(q 退出):

sudo ncdu /

答案2

磁盘分区大小通常是固定的,因此其中有多少个文件并不重要 - 大小将保持不变,直到您手动更改它。

要查看 /dev/sda8 中的内容,您可以运行:

sudo sfdisk -l | grep ^/dev

最后两列将显示分区的大小和类型(包含的内容)。

相关内容