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

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

1
2
3
4
5
6
7
$ ls -lh | grep ^d
 drwxr-xr-x 3 alvin alvin 4.0K Aug 2 13:57 Bank_Detailsdrwxr-xr-x 2 alvin alvin 4.0K Mar 15 2019 alvindrwxr-xr-x 6 alvin alvin 4.0K Feb 16 2019 drive-alvindrwxr-xr-x 13 alvin alvin 4.0K Jan 6 2019 drive-mageshmdrwxr-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 命令的使用。

查看指定目录的总大小

1
2
3
4
5
$ du -hs /home/alvin/Documentsor$ du -h --max-depth=0 /home/alvin/Documents/
 20G  /home/alvin/Documents

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

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

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

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ du -h /home/alvin/Documents/ | sort -rh | head -20
 20G  /home/alvin/Documents/9.6G  /home/alvin/Documents/drive-alvin6.3G  /home/alvin/Documents/Thanu_Photos5.3G  /home/alvin/Documents/Thanu_Photos/Camera5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos3.2G  /home/alvin/Documents/drive-mageshm2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos2.2G  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month916M  /home/alvin/Documents/drive-mageshm/Tanisha454M  /home/alvin/Documents/drive-mageshm/2g-backup415M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents213M  /home/alvin/Documents/drive-mageshm/photos163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent161M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016

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

 

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

1
2
3
4
5
6
7
8
9
10
11
12
$ du -hs /home/alvin/Documents/* | sort -rh | head -10
 9.6G  /home/alvin/Documents/drive-alvin6.3G  /home/alvin/Documents/Thanu_Photos3.2G  /home/alvin/Documents/drive-mageshm756K  /home/alvin/Documents/Bank_Details272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png96K  /home/alvin/Documents/distro-info.xlsx

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

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ du -hS /home/alvin/Documents/ | sort -rh | head -20
 5.3G  /home/alvin/Documents/Thanu_Photos/Camera5.3G  /home/alvin/Documents/drive-alvin/Thanu-videos2.3G  /home/alvin/Documents/drive-alvin/Thanu-Photos1.5G  /home/alvin/Documents/drive-mageshm831M  /home/alvin/Documents/drive-mageshm/Tanisha454M  /home/alvin/Documents/drive-mageshm/2g-backup 300M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Jan-2017288M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-2017253M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video226M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Sep-2017219M  /home/alvin/Documents/Thanu_Photos/WhatsApp Documents213M  /home/alvin/Documents/drive-mageshm/photos163M  /home/alvin/Documents/Thanu_Photos/WhatsApp Video/Sent154M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/June-2017150M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-2016127M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2016100M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Oct-201694M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Nov-201792M  /home/alvin/Documents/Thanu_Photos/WhatsApp Images90M  /home/alvin/Documents/drive-alvin/Thanu-photos-by-month/Dec-2017

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

 

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

1
2
3
4
5
6
7
8
$ du -h --max-depth=1 /home/alvin/Documents/
 3.2G  /home/alvin/Documents/drive-mageshm4.0K  /home/alvin/Documents/alvin756K  /home/alvin/Documents/Bank_Details9.6G  /home/alvin/Documents/drive-alvin6.3G  /home/alvin/Documents/Thanu_Photos20G  /home/alvin/Documents/

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

 

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

1
2
3
4
5
6
7
8
9
10
11
12
$ du -hsc /home/alvin/Documents/* | sort -rh | head -10
 20G  total9.6G  /home/alvin/Documents/drive-alvin6.3G  /home/alvin/Documents/Thanu_Photos3.2G  /home/alvin/Documents/drive-mageshm756K  /home/alvin/Documents/Bank_Details272K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png172K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png164K  /home/alvin/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf132K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png112K  /home/alvin/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

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

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/1414.html

(0)
admin的头像admin
上一篇 2024年6月29日 上午12:00
下一篇 2024年6月29日

相关推荐

  • Linux部署LAMP+Discuz+Mysql-Proxy读写分离

    MySQL读写分离的原理 其实就是让Master数据库处理事务性增、删除、修改、更新操作(CREATE、INSERT、UPDATE、DELETE),而让Slave数据库处理SELE…

    2017年12月14日
    000
  • Linux用户及组管理

    Linux下用户及组管理 系统中的文件都有一个所属用户及所属组 使用id命令可以显示当前用户的信息 使用passwd命令可以修改当前用户密码 每个用户拥有一个UserID,操作系统…

    2017年12月14日
    000
  • linux命令窗口设置登录名颜色

    在linux的命令窗口输入命令与输出内容颜色一样,内容太多导致不容易区分,设置下登录名的颜色。效果如下图: [root@localhost ~]# echo “expo…

    2019年5月5日
    000
  • Linux固定TCP地址及私钥认证配置的保姆级教程

    前言 随着数字化浪潮席卷商业领域,传统信息安全架构正面临颠覆性挑战。在分布式办公模式全面普及的当下,云会议系统与在线协作平台已成为企业运营的核心枢纽,但这种新型工作形态也暴露出潜在…

    2025年6月17日
    000
  • Linux进程信号的发送和保存指南

    一、信号发送 1、信号动作 通过指令man -7 signal查看信号的手册,然后往下翻翻可以看到普通信号发出后对应的操作,以及它们的信号编号,和详细描述信息 2、信号发送的本质 …

    2025年9月20日
    000
  • Linux服务器添加SWAP分区

    SWAP分区简介 Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被…

    2017年12月25日
    000
  • Linux 快速入门篇

    Linux操作系统简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNI…

    2017年12月14日
    000
  • Linux用户空间与内核地址空间详解

    Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户…

    2024年6月15日
    000
  • Linux升级Openssh版本

    一、Openssh简介 OpenSSH是SSH(Secure SHell)协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如…

    2022年12月13日
    000
  • CentOS 6.9搭建NTP服务器

    NTP简介 网络时间协议(NTP)用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服…

    2017年12月14日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注