[20190411]linux stat 命令疑问.txt
--//别人问的问题,stat命令中的blocks的单位是什么?
$ ls -l sysaux01.dbf
-rw-r----- 1 oracle oinstall 1017126912 2019-04-11 10:26:39 sysaux01.dbf
$ stat sysaux01.dbf
File: `sysaux01.dbf'
Size: 1017126912 Blocks: 1990472 IO Block: 4096 regular file
Device: 12h/18d Inode: 67278574 Links: 1
Access: (0640/-rw-r-----) Uid: ( 502/ oracle) Gid: ( 502/oinstall)
Access: 2019-04-11 10:31:36.719826498 +0800
Modify: 2019-04-11 10:26:39.789814323 +0800
Change: 2019-04-11 10:26:39.789814323 +0800
--//问一下blocks:1990472 的单位是什么?
--//1017126912/1990472 = 510.99784975623872126812, 512字节吗?
--//文件大小1017126912,占1017126912/512 = 1986576 块.
--//1990472-1986576 = 3896
--//单位是512字节肯定的.
--//还有3896块是其它信息吗?
$ man stat
%b Number of blocks allocated (see %B)
%B The size in bytes of each block reported by %b
$ stat -c "%b %B" sysaux01.dbf
1990472 512
--//我估计这个blocks除了文件占用外,还有元数据的信息(间接块的信息).如果熟悉ext2文件系统,文件系统有1个一级间接块,二级间接
--//块的概念....
--//实际上oracle assm借鉴这个设计,以空间换取性能.
--//我记忆里前面12个是直接块地址.链接:https://baijiahao.baidu.com/s?id=1590984722027150374&wfr=spider&for=pc
$ dd if=/dev/zero of=aa11 bs=4096 count=11
$ dd if=/dev/zero of=aa12 bs=4096 count=12
$ dd if=/dev/zero of=aa13 bs=4096 count=13
$ stat aa11
File: `aa11'
Size: 45056 Blocks: 88 IO Block: 4096 regular file
Device: 6802h/26626d Inode: 9210838 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ oracle) Gid: ( 502/oinstall)
Access: 2019-04-11 10:55:55.000000000 +0800
Modify: 2019-04-11 10:55:55.000000000 +0800
Change: 2019-04-11 10:55:55.000000000 +0800
$ stat aa12 aa13
File: `aa12'
Size: 49152 Blocks: 96 IO Block: 4096 regular file
Device: 6802h/26626d Inode: 9211009 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ oracle) Gid: ( 502/oinstall)
Access: 2019-04-11 10:51:39.000000000 +0800
Modify: 2019-04-11 10:51:39.000000000 +0800
Change: 2019-04-11 10:51:39.000000000 +0800
File: `aa13'
Size: 53248 Blocks: 112 IO Block: 4096 regular file
Device: 6802h/26626d Inode: 9211010 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ oracle) Gid: ( 502/oinstall)
Access: 2019-04-11 10:52:30.000000000 +0800
Modify: 2019-04-11 10:52:30.000000000 +0800
Change: 2019-04-11 10:52:30.000000000 +0800
--//注意看blocks的变化, 88->96->112,增加量是8,8,16.
--//当建立文件需要13块时,需要多建立1个块保存一级间接块地址.这样多消耗4096/512=8块.
--//也可以看出文件越大这方面的消耗也越大.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2641011/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/267265/viewspace-2641011/