如何查看磁盘剩余空间? du, df, fdisk?

2019-12-07 01:03:41 +08:00
 lxk11153

用 du 统计了一下根目录,才 13G,但 df 出来个 Used 30G,不太明白。

不是特别了解 Linux 和它的文件系统┓( ´∀` )┏,so 要怎么查看呢?演示下

Filesystem      Size  Used Avail Use% Mounted on
overlay          41G   31G  9.8G  76% /
tmpfs            64M     0   64M   0% /dev
tmpfs           847M     0  847M   0% /sys/fs/cgroup
/dev/sdb1       4.8G  2.0G  2.7G  43% /home
/dev/sda1        41G   31G  9.8G  76% /root
shm              64M     0   64M   0% /dev/shm
overlayfs       1.0M  160K  864K  16% /etc/ssh/ssh_host_rsa_key
overlayfs       1.0M  160K  864K  16% /etc/ssh/keys
tmpfs           847M  668K  846M   1% /run/metrics
tmpfs           847M     0  847M   0% /run/xxx/devshell
8489 次点击
所在节点    Linux
32 条回复
hackerang
2019-12-07 01:10:20 +08:00
咋的不明白呢。。这不是整的挺明白的吗
lxk11153
2019-12-07 01:17:00 +08:00
@hackerang #1 可是和 `du` 出的结果如何对应上?
ashong
2019-12-07 01:21:05 +08:00
du 是文件夹 /文件实战空间
jxxz
2019-12-07 01:28:00 +08:00
好像一个是按块大小来算的,一个是实际大小
Mirana
2019-12-07 01:40:06 +08:00
du 是统计所有文件加起来的大小 df 是获取文件系统 superblock 里记的大小 文件删除后 文件系统不一定马上就回收用过的 block
flynaj
2019-12-07 02:04:14 +08:00
du 是文件大小,df 是磁盘空间,差别是文件系统占用的空间,无论什么文件系统它都要占用一部分磁盘空间
lxk11153
2019-12-07 04:15:41 +08:00
@ashong #3 看下面👇
@jxxz #4 这里的 du 是 GNU 的,默认是统计`Summarize disk usage`(磁盘占用) 有个`--apparent-size`参数是统计实际文件大小(从这个文件能读取多少数据),BSD 的那个 du 默认是统计`the file system block usage`
@Mirana #5 `文件删除后 文件系统不一定马上就回收用过的` 可是我重启下,还是差不多的数据
@flynaj #6 了解,肯定不可能完全一致,但 30G 和 13G 也差太多了吧
cev2
2019-12-07 04:57:03 +08:00
给的信息太少,感觉多半是你 overlayfs 的问题。
scriptB0y
2019-12-07 11:27:47 +08:00
应该是 overlayfs 的问题,不是很了解,但是 du 遇到 Symbolic link,会计算 link 的大小,而不会计算真正的文件大小
winglight2016
2019-12-07 11:51:47 +08:00
看了几天帖子了,这是唯一讨论技术的,看完感觉学习到了。所以,v2 已经是个八卦新闻论坛了吧?🐶
flynaj
2019-12-07 13:02:10 +08:00
@lxk11153 #7 是不是你的账户没有权限没有统计完全! du -a -d 1 -h 看看!
lxk11153
2019-12-07 13:44:28 +08:00
@winglight2016 #10 看我过往发的帖子,基本讨论技术的 /HJ
@flynaj 11 看第 1 条附言
@scriptB0y #9 Symbolic link 应该就是不进入链接呀,不然我创建很多根目录的软链接岂不是统计大小得翻几倍
twl007
2019-12-07 13:51:41 +08:00
用 lsof 查一下就行 会发现有 delete 关键字的 找到对应的 pid 干掉就行
momocraft
2019-12-07 14:04:25 +08:00
在一些文件系统中 du (不考虑压缩) 和 df (不考虑分配但未用于文件的空间) 可以同时不准, 比如 btrfs
lxk11153
2019-12-07 14:46:43 +08:00
@twl007 #13 但我重启系统依旧输出差不多的数据( sudo find 搜了下,没找到 lsof 命令)
@momocraft #14 可能有一些特别的文件系统设计吧,但算剩余空间这个感觉是常规操作,应该基本都有且能输出较准确结果吧
Mirana
2019-12-07 15:19:02 +08:00
@lxk11153 重启也不会回收啊。。
lxk11153
2019-12-07 15:24:41 +08:00
@Mirana #16 如何回收 233~~~
lxk11153
2019-12-07 15:30:35 +08:00
@Mirana #5 👇
@twl007 #13 安装了 lsof, sudo lsof|grep deleted 没搜到
momocraft
2019-12-07 16:49:09 +08:00
你知道自己用的什么文件系统吗?
lxk11153
2019-12-07 19:50:45 +08:00
@momocraft #19 怎么查?第 2 条附言这样吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX