当前位置: 首页 > news >正文

Linux基础命令-du查看文件的大小

文章目录

du

命令介绍

语法格式

基本参数

参考实例

1)以人类可读形式显示指定的文件大小

2)显示当前目录下所有文件大小

3)只显示目录的大小

4)显示根下哪个目录文件最大

5)显示所有文件的大小

6)只显示目录下的文件,不显示目录下的子目录

ll -h与du -h命令的区别 

命令总结

du

命令介绍

先看下帮助文档里的含义

NAME
       du - estimate file space usage

 du(Disk Usage)命令的功能是查看文件或目录的大小,默认以kb单位显示文件的大小,如果是目录,则会显示目录下各个文件的容量以及目录的总容量。

语法格式

du命令的语法格式是:du 【参数】【文件】

SYNOPSIS
       du [OPTION]... [FILE]...
       du [OPTION]... --files0-from=F

下面来看下命令的参数有哪些。

基本参数

-a列出目录下所有子目录或者文件的大小
-h以人类可读的容量格式显示
-m以MB的单位列出容量大小
-k以KB的单位列出容量大小
-s只显示目录的容量大小,并不显示其下文件容量
-S只显示目录和目录下的文件容量,不显示目录下子目录的容量

参考实例

1)以人类可读形式显示指定的文件大小

左边显示的是文件容量大小,右边显示的是文件名 

[root@localhost ~]# du -h anaconda-ks.cfg 
4.0K	anaconda-ks.cfg

2)显示当前目录下所有文件大小

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录里的子目录所占用的硬盘空间;包括隐藏文件

[root@localhost /]# du | wc -l
27459
[root@localhost ~]# du | wc -l
104

3)只显示目录的大小

可以指定目录,加了-s参数只会显示目录本身的容量大小 

[root@localhost ~]# du -sh /etc
42M	/etc

4)显示根下哪个目录文件最大

先查看根目录下的目录,列出以MB为单位的容量,再通过管道符进行排序文件大小

[root@localhost /]# du -sm /* | sort -nur
4561	/run
3674	/usr
504	/var
122	/boot
42	/etc
4	/root
1	/home
0	/bin

5)显示所有文件的大小

显示所有的文件,可以看到只显示了10个文件的容量大小,若全部显示,可以使用wc -l 可以看到文件有这么多。 

[root@localhost ~]# du -ah | head 
4.0K	./.bash_logout
4.0K	./.bash_profile
4.0K	./.bashrc
4.0K	./.cshrc
4.0K	./.tcshrc
4.0K	./anaconda-ks.cfg
4.0K	./.bash_history
4.0K	./.cache/abrt/lastnotification
4.0K	./.cache/abrt/applet_dirlist
8.0K	./.cache/abrt
[root@localhost ~]# du -a | wc -l
167

6)只显示目录下的文件,不显示目录下的子目录

使用-S的命令结果与du命令不加-S的结果是一样的,其实都是显示目录和其下的文件。 

[root@localhost ~]# du -S /etc | wc -l
746
[root@localhost ~]# du /etc | wc -l
746

ll -h与du -h命令的区别 

不同命令显示文件,为什么会出现文件大小不一样

[root@localhost ~]# ll -h anaconda-ks.cfg 
-rw-------. 1 root root 1.4K 2月   8 00:02 anaconda-ks.cfg[root@localhost ~]# du -h anaconda-ks.cfg 
4.0K	anaconda-ks.cfg

通过使用ll -h 文件与du -sh文件的结果可以发现,明明是同一个文件,但是显示的容量却不相同。

其实这一切都要从block块讲起。 

众所周知,磁盘中最小的存储单位是扇区,而每个扇区默认是存储512字节,既是0.5KB);而文件系统默认会一次性读取多个扇区,即一次性读取一个“块”也就是block,一个块的大小常见的是4KB,即连续八个扇区(sector)组成一个 block。

那么写入一个文件的时候,无论这个文件多小,都会占用1个block块。

再回到命令显示的文件大小,可以看出du -h这个命令显示的是磁盘的占用空间,而ll -h显示的是文件的实际大小。

附上一张图

windows里文件有实际大小和占用空间大小。 

命令总结

        du命令还是挺有意思的,用来查看文件的大小也好,目录的大小也好,都是个不错的命令,若觉得以上内容还行的,可以点赞支持一下!

http://www.lryc.cn/news/21679.html

相关文章:

  • 文献计量分析方法:Citespace安装教程
  • MVI 架构更佳实践:支持 LiveData 属性监听
  • LeetCode438 找到字符串中所有字母异位词 带输入和输出
  • ACSC 2023 比赛复现
  • 【Linux驱动开发100问】什么是模块?如何编写和使用模块?
  • Android 9.0 Recent列表不显示某个app
  • 深度学习之卷积神经网络学习笔记一
  • 黑盒测试的常用方法
  • 操作系统笔记-第一章
  • daillist
  • vue中render函数的作用和参数(vue2中render函数用法)
  • 基于Istio的高级流量管理二(Envoy流量劫持、Istio架构、高级流量管理)
  • Sharding-Springboot-mybatis-plus整合(三)-inline策略
  • 编码的基本概念
  • 函数指针与指针函数的区别
  • 死锁的四个必要条件以及如何避免死锁
  • 浏览器多线程到事件循环机制
  • Lambda表达式的本质
  • 类的加载过程(生命周期)
  • 2023最新谷粒商城笔记之MQ消息队列篇(全文总共13万字,超详细)
  • 多变量线性回归模型
  • php 基于ICMP协议实现一个ping命令
  • Java基本数据类型
  • English Learning - L2 语音作业打卡 Day2 2023.2.22 周三
  • 45. 跳跃游戏 II
  • 应届生Java面试50题线程篇(含解析)
  • 【数据库】第七章 数据库设计
  • Burp Suite 常用模块简介
  • QML Item和Rectangle详解
  • 常见前端基础面试题(HTML,CSS,JS)(六)