ls -h - du -sh的大小显示不一致原因

近期在学习中偶然发现:ls -h du -sh的大小显示不一致具体如下

[root@localhost ~]# ll -h
总用量 20K
-rw-r--r--. 1 root root 3.8K 1月   7 08:17 1.txt
-rw-------. 1 root root 1.4K 4月  27 2020 anaconda-ks.cfg
-rw-r--r--. 1 root root 8.5K 1月   7 08:20 top.txt
[root@localhost ~]# du -sh *
4.0K	1.txt
4.0K	anaconda-ks.cfg
12K	top.txt

通过详细了解后发现,du == disk usage 属于磁盘使用量 占用的磁盘空间

不同之处

​ du 指这个文件在磁盘中占用了多少空间,计算占用了多少block块,而block块的大小默认为4096也就是4k,当你一个文件大小为1字节的文件,他也要占用4k。如果你的系统块大小制定为16k,即便你放入一个1k的文件,也显示你占用16k。

​ 所以在一个分区存在大文件的时候block的值可以设置大一点,有利于空间利用。存放的比较小的文件即可块大小设置小一点。

结论

​ 通产情况下,ls显示的文件大小是要比du显示的磁盘占用空间是小的。

查看block块的大小
[root@localhost ~]# xfs_growfs /dev/sda1
meta-data=/dev/sda1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

dumpe2fs -h 分区路径

我们在查看指定分区详细文件信息时,用dumpe2fs 时却发现报错,
dumpe2fs: Bad magic number in super-block 当尝试打开 /dev/sda1 时找不到有效的文件系统超级块.

这个是因为在安装CentOS7时,根分区默认使用的文件系统类型是xfs,而7以前的版本如6使用的是ext4类型。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峰宝宝守护。

乐已忘忧,心旷神愉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值