首页 > 其他分享 >ls 与 du查看到的磁盘空间不一样,差别很大

ls 与 du查看到的磁盘空间不一样,差别很大

时间:2024-01-15 11:22:39浏览次数:31  
标签:文件 txt 磁盘空间 ls test du root localhost

 

ls看到的是文件逻辑上占用的空间,

du查看到的是文件物理上上占用的块大小。

 

ls与du查看到文件大小不一致,这涉及到了一个概念:稀疏文件(sparse file)

稀疏文件可能没有实际分配到用来存储用户数据的磁盘空间。

Sparse File就是在文件中留有很多空余空间,留备将来插入数据使用。如果这些空余空间被ASCII码的NULL字符占据,并且这些空间相当大,那么,这个文件就被称为稀疏文件,而且,并不分配相应的磁盘块。

 

 

[root@localhost test]# echo 123 > test.txt  #创建一个可读文件
[root@localhost test]# cat test.txt  #验证
123
[root@localhost test]# ll test.txt   #查看文件信息
-rw-r--r-- 1 root root 4 Jan 12 19:59 test.txt
[root@localhost test]# ll test.txt|awk '{print $5}'  #文件大小为4 byte
4
[root@localhost test]# du -sh test.txt  #文件占用块大小为4kb(最小存储单元)
4.0K    test.txt

[root@localhost test]# dd if=/dev/zero of=test.txt bs=1M seek=5 count=10  #文件从第5M的位置开始,写入大小为10M块数据
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0159494 s, 657 MB/s
[root@localhost test]# cat test.txt   #文件头部信息完好,此时文件依旧可读
123
[root@localhost test]# ll test.txt|awk '{print $5}' #ll查看文件大小,为15M
15728640
[root@localhost test]# ll test.txt|awk '{print $5/1024/1024 "M"}'
15M
[root@localhost test]# du -sh test.txt #du查看文件大小为11M  ?
11M     test.txt
[root@localhost test]# du -k  test.txt  #10244k=10M+4k,没问题了,du的human-readable会进一取整
10244   test.txt

 

标签:文件,txt,磁盘空间,ls,test,du,root,localhost
From: https://www.cnblogs.com/santia-god/p/17965000

相关文章

  • Arduino或其他微控制器来控制TB67S109A
    TB67S109A是一款步进电机驱动器,它没有特定的代码。但是,您可以使用Arduino或其他微控制器来控制TB67S109A。以下是一个简单的示例代码,用于控制TB67S109A的步进电机:#include<Stepper.h>//定义步进电机的引脚constintstepPin=8;constintdirPin=9;//创建步进电机对象......
  • PyTorch中的nn.LeakyReLU()、nn.Module和nn.ModuleList
    一.nn.LeakyReLU()函数  在PyTorch中,nn.LeakyReLU()是一个激活函数,用于引入非线性性到神经网络中。LeakyReLU是修正线性单元(ReLU)的一种变体,它在输入为负数时不是完全置零,而是引入一个小的负斜率。nn.LeakyReLU()的初始化参数如下:negative_slope(默认为0.01):负斜率,指定当......
  • 干掉过多的 if else,让你的代码更优雅
    干掉过多的ifelse,让你的代码更优雅学习改变命运,技术铸就辉煌。大家好,我是銘,全栈开发程序员。写代码时候,有时候条件过多,会有很多ifelse,代码看起来很乱,不够优雅,那如何让代码更优雅呢,如何让代码可读性更强呢,那銘哥就来教你怎么做。注意啊,是过的if-else,如果只是三四个,那就没必......
  • 干掉过多的 if else,让你的代码更优雅
    干掉过多的ifelse,让你的代码更优雅学习改变命运,技术铸就辉煌。大家好,我是銘,全栈开发程序员。写代码时候,有时候条件过多,会有很多ifelse,代码看起来很乱,不够优雅,那如何让代码更优雅呢,如何让代码可读性更强呢,那銘哥就来教你怎么做。注意啊,是过的if-else,如果只是三四个,那......
  • fastapi项目 08-持久化APScheduler
    前言在上一篇的中,我们写到可以根据APScheduler第三方库,创建定时任务,但是主程序直接创建完后,定时任务只是存在内存中,如果重启启动主程序,那么我们创建的任务就会消失,需要重新创建,这显然是不行的。我们需要的是不管程序是否启动,我们创建的任务都存在,而不会被删除。于是我们就引入了......
  • PyTorch项目源码学习(3)——Module类初步学习
    torch.nn.ModuleModule类是用户使用torch来自定义网络模型的基础,Module的设计要求包括低耦合性,高模块化等等。一般来说,计算图上所有的子图都可以是Module的子类,包括卷积,激活函数,损失函数节点以及相邻节点组成的集合等等,注意这里的关键词是“节点”,Module族类在计算图中主要起到搭......
  • 在Ubuntu 20.04.1 LST上安装摩尔线程MTT S80驱动
    在Ubuntu20.04.1LST上安装摩尔线程MTTS80驱动1.Ubuntu指定版本下载,不要搞错。http://old-releases.ubuntu.com/releases/20.04.1/ubuntu-20.04.1-desktop-amd64.iso2.UltralISO制作U盘启动盘,安装系统,期间不要更新系统和软件。3.重启一次,有线网络自动启用。4.重启,......
  • IDEA项目名称后面出现中括号,模块Modules的名子和文件夹名称不同,可以右键修改名称也可
    IDEA项目名称后面出现中括号,Modules的名子和文件夹名称不同,可以右键修改名称也可以在File->ProjectStructure修改Modules的Name(快捷键ctrl+Shift+Alt+s)Project中出现中括号如:原因:Modules的名子和文件夹名称不同解决主要是通过修改名称一致就可以可以右键修改名称也可......
  • Introducing the incident management
    ForwardToday,wetalkaboutthesignificanceofincidentmanagement.Firstly,westartitbysomesimpleconcepts. Whatexactlytheincidentis?Orwhatisissusemanagementandproblemmanagement?Whyitissoimportant?Whatwecando?Whatweshould......
  • 16.TcpDump 与 WireShark 的使用
    协议分析工具 网络监听:TcpDump+WireShark代理Proxy推荐工具:手工测试charles[全平台]、安全测试burpsuite[全平台java]自动化测试:mitmproxy其他代理:fiddler[仅windows]、AnyProxy[全平台]协议客户端工具:curl、postmantcpdump 参数:-x十六进......