免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1653 | 回复: 6
打印 上一主题 下一主题

linux下文件大小的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-19 13:45 |只看该作者 |倒序浏览
我有一个512B的文件,使用du去看它的大小
[xuhao@localhost temp]$ du -b mbr.bak
512     mbr.bak
[xuhao@localhost temp]$ du -h mbr.bak
8.0K    mbr.bak

为什么一个是512,一个是8.0K?难道使用-h选项是读block大小么?但是我的block是4K的 我感到非常的奇怪
请达人解惑........
[root@localhost temp]#  /sbin/tune2fs -l /dev/sda3
tune2fs 1.39 (29-May-2006)
Filesystem volume name:   /
Last mounted on:          <not available>
Filesystem UUID:          4cdbb15d-c043-4068-97ef-07988397487f
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              7685440
Block count:              7679070
Reserved block count:     383953
Free blocks:              6350876
Free inodes:              7489324
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1022
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         32704
Inode blocks per group:   1022
Filesystem created:       Wed Nov 14 01:32:01 2007
Last mount time:          Thu Mar 13 00:35:21 2008
Last write time:          Thu Mar 13 00:35:21 2008
Mount count:              15
Maximum mount count:      -1
Last checked:             Wed Nov 14 01:32:01 2007
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      87b99539-da65-4361-8874-cf917f49fae5
Journal backup:           inode blocks

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
2 [报告]
发表于 2008-03-19 15:25 |只看该作者
[xuhao@localhost temp]$ du -h mbr.bak
8.0K    mbr.bak


我觉得这个应该等于4k

个人认为,du -b时候计算的是实际大小,精确到字节的
但是du -h的时候是按block为单位计算了,计算占用了多少个block,你的文件512b,block是4k,文件只占用了1个block,所以du -h结果是4k,不清楚你的为啥是8k,只能理解成跨越了2个block,如下是我的结果
#du -b a
512     a
# du -h a
4.0K    a

论坛徽章:
0
3 [报告]
发表于 2008-03-19 15:46 |只看该作者
原帖由 cuci 于 2008-3-19 15:25 发表
[xuhao@localhost temp]$ du -h mbr.bak
8.0K    mbr.bak


我觉得这个应该等于4k

个人认为,du -b时候计算的是实际大小,精确到字节的
但是du -h的时候是按block为单位计算了,计算占用了多少个block, ...


我看了一下du的manual,-b的说明如下:
-b, --bytes
              equivalent to &acirc;

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
4 [报告]
发表于 2008-03-19 16:15 |只看该作者
我的block是4k

论坛徽章:
0
5 [报告]
发表于 2008-03-19 16:34 |只看该作者
那我就郁闷了 唉

论坛徽章:
0
6 [报告]
发表于 2008-03-19 21:50 |只看该作者
原帖由 cuci 于 2008-3-19 15:25 发表
[xuhao@localhost temp]$ du -h mbr.bak
8.0K    mbr.bak


我觉得这个应该等于4k

个人认为,du -b时候计算的是实际大小,精确到字节的
但是du -h的时候是按block为单位计算了,计算占用了多少个block, ...

应该是这样的,LZ的显示为8.0K,估计应该是服务器的block是8K吧?在检查一下

论坛徽章:
0
7 [报告]
发表于 2008-03-19 22:00 |只看该作者
不同的操作系统下,du命令使用相同选项的解释是不太一样的。
比如说RHEL3和RHEL5下的du -sb显示的内容就不一样。

所以不要忽略你们所使用的操作系统是不是版本方面的差异很大?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP