自己看书正好看到这里,正纳闷呢,上网查了下,发现不是我自己在为这个问题感到困惑。
有个大哥提出一个问题:
问题标题: ls -s的单位到底是什么?
man ls 不对啊,哪位能说明下? |
以上是问题的全部。
回答1:
什么操作系统? RHEL6.4,ls -s看见的是block数目! |
大哥之后给出回复:
RHEL 6.2,你用block size * ls -s的结果,算出来的大小是对的?
回答2:
计算了下,结果是按1K为block-size。
猜测:ls -s不指定block-size的情况下,默认以1K为block单位。
指定block-size为4K,计算结果正确!
ls -s --block-size 4k filename
回答3:
看来ls的block-size并不是以你当前文件系统的block size为基准的!它有它自己的道儿…… |
回答4:感觉应该没这么弱智,谁看的懂源码的翻出来看看
回答5:
这不是弱智吧,这是可扩展性。你想想,在大型系统里,可能有N个不同block-size的文件系统,如果ls每次显示文件分配块都要先去检查文件系统的block size,这样同样大小的文件,不同文件系统的输出不一样。 再说人家已经提供了--block-size参数,随你怎么玩。我觉得这样还是比较合理的! |
回答6:
关键是你加上--block-size这个参数后,影响的不光是ls -s,ls -l显示的字节大小也影响了,那指定一个-s参数还有什么意义呢
回答7:
问题都是有解决办法的。。。。。
尝试如下:
export BLOCKSIZE=4k
ls -ls
看看是不是你想要的。
嫌麻烦?把BLOCKSIZE环境变量加入.bash_profile。
回答8:
到最后我也不知道哪个对?大家怎么看