首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >du和find -ls

du和find -ls
EN

Unix & Linux用户
提问于 2019-11-27 23:00:39
回答 1查看 192关注 0票数 0

我有一个Solaris 10服务器,它通过NFS安装了一个远程文件系统。我相信远程系统是一个NetApp,但还不清楚。

当我运行df -h 时,我得到了12T大小,使用了容量为87%的10T。

当我切换到挂载点并运行ls -A |xargs du -s时,我得到了大约8MB的内存。我已经开始期望du递归下降,并将所有文件大小加起来,但这里似乎没有这样做。

作为一个树篱,我跑

代码语言:javascript
复制
find  -ls | awk '{total=total+$7}END{print total}'

答案是13006791645。除以1024^3 (1073741824),我得到大约12.1兆字节。

因此,find -lsdf似乎多少达成了一致。为什么杜会这么可怕地失败呢?

PS:命令ls -A也抓取隐藏的快照目录,但是发现什么都找不到(除了“检测到的循环”)。

EN

回答 1

Unix & Linux用户

发布于 2019-12-06 15:41:54

du -s以512个字节块报告.您无法与df -h进行比较,因为du不报告人类可读的数据。

若要比较这两个值,请使用du -sh /usr/xpg4/bin/df -Pdf也以512个字节单位报告。

根据man du的说法:

具有多个链接的文件将被计数,并只为一个条目编写。在报告中选择的目录条目是未指定的。默认情况下,文件大小是以512字节单位编写的,舍入到下一个512字节单位.

尝试/usr/xpg4/bin/df -P获取由df报告的512个字节:

代码语言:javascript
复制
bash-3.2$ /usr/xpg4/bin/df -P /var
Filesystem            512-blocks        Used   Available Capacity  Mounted on
rpool/ROOT/s10/var
                      1147797504    66061270   954397119     7%    /var

并与du -s进行比较:

代码语言:javascript
复制
bash-3.2$ du -s /var
65976060        /var

或比较:

代码语言:javascript
复制
bash-3.2$ df -h /var              
Filesystem             size   used  avail capacity  Mounted on
rpool/ROOT/s10x_u11wos_24a/var
                       547G    32G   455G     7%    /var

通过以下方式:

代码语言:javascript
复制
bash-3.2$ du -hs /var   
  31G   /var
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/554521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档