如何获取 Linux 中的目录大小

如何获取 Linux 中的目录大小_第1张图片

你应该已经注意到,在 Linux 中使用 ls 命令 列出的目录内容中,目录的大小仅显示 4KB。这个大小正确吗?如果不正确,那它代表什么,又该如何获取 Linux 中的目录或文件夹大小?这是一个默认的大小,是用来存储磁盘上存储目录的元数据的大小。

Linux 上有一些应用程序可以 获取目录的实际大小。其中,磁盘使用率(du)命令已被 Linux 管理员广泛使用。

我将向您展示如何使用各种选项获取文件夹大小。

什么是 du 命令?

du 命令 表示 磁盘使用率(Disk Usage)。这是一个标准的 Unix 程序,用于估计当前工作目录中的文件空间使用情况。

它使用递归方式总结磁盘使用情况,以获取目录及其子目录的大小。

如同我说的那样, 使用 ls 命令时,目录大小仅显示 4KB。参见下面的输出。

$ ls -lh | grep ^d

drwxr-xr-x  3 daygeek daygeek 4.0K Aug  2 13:57 Bank_Details

drwxr-xr-x  2 daygeek daygeek 4.0K Mar 15  2019 daygeek

drwxr-xr-x  6 daygeek daygeek 4.0K Feb 16  2019 drive-2daygeek

drwxr-xr-x 13 daygeek daygeek 4.0K Jan  6  2019 drive-mageshm

drwxr-xr-x 15 daygeek daygeek 4.0K Sep 29 21:32 Thanu_Photos

1) 在 Linux 上如何只获取父目录的大小

使用以下 du 命令格式获取给定目录的总大小。在该示例中,我们将得到 /home/daygeek/Documents 目录的总大小。

$ du -hs /home/daygeek/Documents

$ du -h --max-depth=0 /home/daygeek/Documents/

20G    /home/daygeek/Documents

详细说明:

du – 这是一个命令

-h – 以易读的格式显示大小 (例如 1K 234M 2G)

-s – 仅显示每个参数的总数

--max-depth=N – 目录的打印深度

2) 在 Linux 上如何获取每个目录的大小

使用以下 du 命令格式获取每个目录(包括子目录)的总大小。

在该示例中,我们将获得每个 /home/daygeek/Documents 目录及其子目录的总大小。

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

20G    /home/daygeek/Documents/

9.6G    /home/daygeek/Documents/drive-2daygeek

6.3G    /home/daygeek/Documents/Thanu_Photos

5.3G    /home/daygeek/Documents/Thanu_Photos/Camera

5.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-videos

3.2G    /home/daygeek/Documents/drive-mageshm

2.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-Photos

2.2G    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month

916M    /home/daygeek/Documents/drive-mageshm/Tanisha

454M    /home/daygeek/Documents/drive-mageshm/2g-backup

415M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video

300M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017

288M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017

226M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017

219M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents

213M    /home/daygeek/Documents/drive-mageshm/photos

163M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent

161M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Images

154M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017

150M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2016

3) 在 Linux 上如何获取每个目录的摘要

使用如下 du 命令格式仅获取每个目录的摘要。

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

9.6G    /home/daygeek/Documents/drive-2daygeek

6.3G    /home/daygeek/Documents/Thanu_Photos

3.2G    /home/daygeek/Documents/drive-mageshm

756K    /home/daygeek/Documents/Bank_Details

272K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png

172K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png

164K    /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf

132K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png

112K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

96K    /home/daygeek/Documents/distro-info.xlsx

4) 在 Linux 上如何获取每个目录的不含子目录的大小

使用如下 du 命令格式来展示每个目录的总大小,不包括子目录。

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

5.3G    /home/daygeek/Documents/Thanu_Photos/Camera

5.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-videos

2.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-Photos

1.5G    /home/daygeek/Documents/drive-mageshm

831M    /home/daygeek/Documents/drive-mageshm/Tanisha

454M    /home/daygeek/Documents/drive-mageshm/2g-backup

300M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017

288M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017

253M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video

226M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017

219M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents

213M    /home/daygeek/Documents/drive-mageshm/photos

163M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent

154M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017

150M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2016

127M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-2016

100M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2016

94M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2017

92M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Images

90M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-2017

5) 在 Linux 上如何仅获取一级子目录的大小

如果要获取 Linux 上给定目录的一级子目录(包括其子目录)的大小,请使用以下命令格式。

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

3.2G    /home/daygeek/Documents/drive-mageshm

4.0K    /home/daygeek/Documents/daygeek

756K    /home/daygeek/Documents/Bank_Details

9.6G    /home/daygeek/Documents/drive-2daygeek

6.3G    /home/daygeek/Documents/Thanu_Photos

20G    /home/daygeek/Documents/

6) 如何在 du 命令输出中获得总计

如果要在 du 命令输出中获得总计,请使用以下 du 命令格式。

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

20G    total

9.6G    /home/daygeek/Documents/drive-2daygeek

6.3G    /home/daygeek/Documents/Thanu_Photos

3.2G    /home/daygeek/Documents/drive-mageshm

756K    /home/daygeek/Documents/Bank_Details

272K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png

172K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png

164K    /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf

132K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png

112K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png

via: https://www.2daygeek.com/find-get-size-of-directory-folder-linux-disk-usage-du-command/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:lnrCoder 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你可能感兴趣的:(如何获取 Linux 中的目录大小)