Linux查看文件大小的命令-续

几年前,写了Linux中如何查看文件夹的大小这篇文章,这里再做点补充。


大家想要了解一个文件是多大,最直观的方式,就是看看Windows告诉咱们某个文件有多大。可以看到,这个文件大小是2.4GB。有了这个信息,再往下去看Linux中的大小就有了准绳。我测试的是一个仅包含一个语料库的压缩包的目录的大小。这个压缩包的信息如下:

image


我的client是一台SUSE Linux,先把这个压缩包拷贝到Linux本地硬盘下的一个目录中,可以看到信息如下:

[root]tmanager-yz# du -sh /tmp/TBD3/Pizza-and-Chili-corpus.tar.gz
2.5G    /tmp/TBD3/Pizza-and-Chili-corpus.tar.gz


拷贝到mount的一个NFS export下之后,可以发现,同样命令回报的大小发生了变化。

[root]tmanager-yz# du -sh Pizza-and-Chili-corpus.tar.gz
3.7G    Pizza-and-Chili-corpus.tar.gz


这是为什么呢?因为这个NFS export是一个PowerScale的cluster,`du –sh`命令返回的大小里,除了文件本身,还有protection overhead的部分。关于protection overhead的具体原理和细节,可以看这里


我在lab里有一台PowerScale的cluster,那么我把同样的文件拷贝到cluster上,并且创建一个quota,然后,我们就可以看到这样的细节:

image


到这里,大家就看明白了,原来那3.7GB里,有1.2GB是protection overhead。


所以,结论就是当你在Linux下运行du –sh命令,查看文件大小的时候,需要注意你查看的文件所在的目录,如果是在NFS上,那么有可能返回的文件大小并不是实际的大小,其中还有可能有protection overhead。而在本地磁盘目录中的时候,du –sh返回的文件大小跟Windows下的属性框中的信息是一样的。

posted on   中道学友  阅读(76)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2009-11-06 neg eax sbb eax, eax
2009-11-06 详解LEA指令
2009-11-06 汇编语言基础之九- 关于栈指针的规律性的总结

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示