[20190411]linux stat 命令疑问.txt

[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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值