Linux系统目录大小通过du命令获取实例

使用过 Linux 系统的小伙伴都知道应该都知道, Linux 系统下的 ls 命令通常被我们用来查看文件目录的内容,但是不知道大家有没有细心留意,ls 命令所显示出来的每一个目录的大小竟然都只有 4 KB ?

$ ls -lh | grep ^d

drwxr-xr-x 3 alvin alvin 4.0K Aug 2 13:57 Bank_Details
drwxr-xr-x 2 alvin alvin 4.0K Mar 15 2019 alvin
drwxr-xr-x 6 alvin alvin 4.0K Feb 16 2019 drive-alvin
drwxr-xr-x 13 alvin alvin 4.0K Jan 6 2019 drive-mageshm
drwxr-xr-x 15 alvin alvin 4.0K Sep 29 21:32 Thanu_Photos

其实啊,这是因为 Linux 下一切皆文件,相信大家都听过这句话,所以你看到的 4 KB 只是用于存储目录元信息的文件大小而已,并不是我们通常意义上的目录大小。那么问题来了,如何去获取到文件目录的实际大小呢?别急,Linux 下的 du 命令可以帮到你。

du 是英文 disk usage 的缩写,代表磁盘使用率,它是一个标准的 Unix 程序,用于估算当前工作目录中文件空间的使用情况。

下面将以 /home/alvin/Documents 为例,来介绍 du 命令的使用。

查看指定目录的总大小

$ du -hs /home/alvin/Documents
or
$ du -h --max-depth=0 /home/alvin/Documents/

20G  /home/alvin/Documents

上面两种方式都可以算出目标目录的总大小,其中:

  • -h 表示显示成 K、M、G 等大小格式
  • -s 表示显示总和
  • --max-depth=N 表示目录级别为 N

查看指定目录下每个目录(包括子目录)的大小

将 -s 选项去掉,不进行统计总和,就能显示每一个目录的大小了,以下仅显示前 20 条:

$ du -h /home/alvin/Documents/ | sort -rh | head -20

20G  /home/alvin/Documents/
9.6G  /home/alvin/Documents/drive-alvin
6.3G  /home/alvin/Documents/Thanu_Photos
5.3G  /home/alvin/Documents/Thanu_Photos/Camera
5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos
3.2G  /home/alvin/Documents/drive-mageshm
2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos
2.2G  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month
916M  /home/alvin/Documents/drive-mageshm/Tanisha
454M  /home/alvin/Documents/drive-mageshm/2g-backup
415M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video
300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017
288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017
226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017
219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents
213M  /home/alvin/Documents/drive-mageshm/photos
163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent
161M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images
154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017
150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016

查看指定目录下每个文件和目录的大小

结合通配符 * 的使用,可以实现显示出指定目录下的文件和目录的大小信息的效果:

$ du -hs /home/alvin/Documents/* | sort -rh | head -10

9.6G  /home/alvin/Documents/drive-alvin
6.3G  /home/alvin/Documents/Thanu_Photos
3.2G  /home/alvin/Documents/drive-mageshm
756K  /home/alvin/Documents/Bank_Details
272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png
172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png
164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf
132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png
112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png
96K  /home/alvin/Documents/distro-info.xlsx

查看指定目录下的每个目录的大小(排除子目录)

使用 -S 选项,以排除子目录的形式来统计大小:

$ du -hS /home/alvin/Documents/ | sort -rh | head -20

5.3G  /home/alvin/Documents/Thanu_Photos/Camera
5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos
2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos
1.5G  /home/alvin/Documents/drive-mageshm
831M  /home/alvin/Documents/drive-mageshm/Tanisha
454M  /home/alvin/Documents/drive-mageshm/2g-backup
300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017
288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017
253M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video
226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017
219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents
213M  /home/alvin/Documents/drive-mageshm/photos
163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent
154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017
150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016
127M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2016
100M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2016
94M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2017
92M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images
90M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2017

查看指定目录中的一级子目录的大小

这个就很简单了,将 max-depth 设定为 1 就可以了:

$ du -h --max-depth=1 /home/alvin/Documents/

3.2G  /home/alvin/Documents/drive-mageshm
4.0K  /home/alvin/Documents/alvin
756K  /home/alvin/Documents/Bank_Details
9.6G  /home/alvin/Documents/drive-alvin
6.3G  /home/alvin/Documents/Thanu_Photos
20G  /home/alvin/Documents/

查看指定目录的大小(包含统计功能)

使用 -c 选项能够对结果进行统计,可以看到,指定目录下的文件和目录的大小的总和是 20 G,这和上面第一条命令中所得出的 /home/alvin/Documents/ 的大小 20 G 是一致的:

$ du -hsc /home/alvin/Documents/* | sort -rh | head -10

20G  total
9.6G  /home/alvin/Documents/drive-alvin
6.3G  /home/alvin/Documents/Thanu_Photos
3.2G  /home/alvin/Documents/drive-mageshm
756K  /home/alvin/Documents/Bank_Details
272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png
172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png
164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf
132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png
112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

到此这篇关于Linux系统目录大小通过du命令获取实例的文章就介绍到这了,更多相关用du命令获取Linux系统目录大小内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux系统目录大小通过du命令获取实例

    使用过 Linux 系统的小伙伴都知道应该都知道, Linux 系统下的 ls 命令通常被我们用来查看文件目录的内容,但是不知道大家有没有细心留意,ls 命令所显示出来的每一个目录的大小竟然都只有 4 KB ? $ ls -lh | grep ^d drwxr-xr-x 3 alvin alvin 4.0K Aug 2 13:57 Bank_Details drwxr-xr-x 2 alvin alvin 4.0K Mar 15 2019 alvin drwxr-xr-x 6 alvin alv

  • 一天一个shell命令 linux好管家-磁盘-du命令详解

    du命令 磁盘管理 du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 语法 du [选项][文件] 选项 -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文件大小时,以byte为单位. -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes 以KB(1024bytes)为单位输出. -m或--megabytes 以MB为单位

  • Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept

  • Linux 命令每天必学(34)之du命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. du /bin和du -s /bin有什么区别呢? -s 就是summary, 显示该目录占用空间的总和 区别在于/bin下面有子目录的时候, 因为/bin没有子目录所以结果相同, 比如 du /etc会看到一大堆输出 du -s /etc 就只有一行输出 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3

  • Linux 中常用的Rpm命令实例详解

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度. 语法 rpm(选项)(参数) 选项 -a:查询所有套件: -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称: -c:只列出

  • Linux 中的 Openssl命令及实例代码

    openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能. OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.在Ope

  • Python实现Linux中的du命令

    实现代码如下: 说明:现在代码已实现du命令的 -s 统计功能,统计与系统du命令稍有差别,比如用ls -ld /root结果为4096,而du计算出来是1040,用当前python计算出来也是4096.另外暂时还没有实现类似于自动根据大小显示为人性化的单位,后续补上 #!/usr/bin/python #*-*coding:utf8*-* import sys import os from optparse import OptionParser #使用选项帮助信息可以使用中文 reload(

  • Linux tar 命令用法实例详解

    tar 命令可以为linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用 tar 命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的. 首先要弄清两个概念:打包和压缩.打包是指将一大堆文件或目录变成一个总的文件:压缩则是将一个大的文件通过一些压缩算法变成一个小文件. 为什么

  • Linux上的文件搜索命令实例详解

    locate 基础了解 在centos7上默认没有locate命令,需要先手动安装.安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db ls -hl /var/lib/mlocate total 1.2M -rw-r----- 1 root slocate 1.2M Oct 16 14:36 mlocate.db 更新数据库使用updatedb,配置文件为

  • Linux中scp命令获取远程文件的方法

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的: 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

随机推荐