如何获取 Linux 中的目录大小

"

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

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

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

什么是 du 命令?

du 命令 表示 磁盘使用率

Disk Usage

。这是一个标准的 Unix 程序,用于估计当前工作目录中的文件空间使用情况。

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

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

  1. $ ls -lh | grep ^d
  2. drwxr-xr-x 3 daygeek daygeek 4.0K Aug 2 13:57 Bank_Details
  3. drwxr-xr-x 2 daygeek daygeek 4.0K Mar 15 2019 daygeek
  4. drwxr-xr-x 6 daygeek daygeek 4.0K Feb 16 2019 drive-2daygeek
  5. drwxr-xr-x 13 daygeek daygeek 4.0K Jan 6 2019 drive-mageshm
  6. drwxr-xr-x 15 daygeek daygeek 4.0K Sep 29 21:32 Thanu_Photos

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

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

  1. $ du -hs /home/daygeek/Documents
  2. $ du -h --max-depth=0 /home/daygeek/Documents/
  3. 20G /home/daygeek/Documents

详细说明:

◈ du – 这是一个命令

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

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

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

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

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

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

  1. $ du -h /home/daygeek/Documents/ | sort -rh | head -20
  2. 20G /home/daygeek/Documents/
  3. 9.6G /home/daygeek/Documents/drive-2daygeek
  4. 6.3G /home/daygeek/Documents/Thanu_Photos
  5. 5.3G /home/daygeek/Documents/Thanu_Photos/Camera
  6. 5.3G /home/daygeek/Documents/drive-2daygeek/Thanu-videos
  7. 3.2G /home/daygeek/Documents/drive-mageshm
  8. 2.3G /home/daygeek/Documents/drive-2daygeek/Thanu-Photos
  9. 2.2G /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month
  10. 916M /home/daygeek/Documents/drive-mageshm/Tanisha
  11. 454M /home/daygeek/Documents/drive-mageshm/2g-backup
  12. 415M /home/daygeek/Documents/Thanu_Photos/WhatsApp Video
  13. 300M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017
  14. 288M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017
  15. 226M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017
  16. 219M /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents
  17. 213M /home/daygeek/Documents/drive-mageshm/photos
  18. 163M /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent
  19. 161M /home/daygeek/Documents/Thanu_Photos/WhatsApp Images
  20. 154M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017
  21. 150M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2016

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

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

  1. $ du -hs /home/daygeek/Documents/* | sort -rh | head -10
  2. 9.6G /home/daygeek/Documents/drive-2daygeek
  3. 6.3G /home/daygeek/Documents/Thanu_Photos
  4. 3.2G /home/daygeek/Documents/drive-mageshm
  5. 756K /home/daygeek/Documents/Bank_Details
  6. 272K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png
  7. 172K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png
  8. 164K /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf
  9. 132K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png
  10. 112K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png
  11. 96K /home/daygeek/Documents/distro-info.xlsx

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

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

  1. $ du -hS /home/daygeek/Documents/ | sort -rh | head -20
  2. 5.3G /home/daygeek/Documents/Thanu_Photos/Camera
  3. 5.3G /home/daygeek/Documents/drive-2daygeek/Thanu-videos
  4. 2.3G /home/daygeek/Documents/drive-2daygeek/Thanu-Photos
  5. 1.5G /home/daygeek/Documents/drive-mageshm
  6. 831M /home/daygeek/Documents/drive-mageshm/Tanisha
  7. 454M /home/daygeek/Documents/drive-mageshm/2g-backup
  8. 300M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017
  9. 288M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017
  10. 253M /home/daygeek/Documents/Thanu_Photos/WhatsApp Video
  11. 226M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017
  12. 219M /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents
  13. 213M /home/daygeek/Documents/drive-mageshm/photos
  14. 163M /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent
  15. 154M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017
  16. 150M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2016
  17. 127M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-2016
  18. 100M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2016
  19. 94M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2017
  20. 92M /home/daygeek/Documents/Thanu_Photos/WhatsApp Images
  21. 90M /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-2017

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

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

  1. $ du -h --max-depth=1 /home/daygeek/Documents/
  2. 3.2G /home/daygeek/Documents/drive-mageshm
  3. 4.0K /home/daygeek/Documents/daygeek
  4. 756K /home/daygeek/Documents/Bank_Details
  5. 9.6G /home/daygeek/Documents/drive-2daygeek
  6. 6.3G /home/daygeek/Documents/Thanu_Photos
  7. 20G /home/daygeek/Documents/

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

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

  1. $ du -hsc /home/daygeek/Documents/* | sort -rh | head -10
  2. 20G total
  3. 9.6G /home/daygeek/Documents/drive-2daygeek
  4. 6.3G /home/daygeek/Documents/Thanu_Photos
  5. 3.2G /home/daygeek/Documents/drive-mageshm
  6. 756K /home/daygeek/Documents/Bank_Details
  7. 272K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png
  8. 172K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png
  9. 164K /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf
  10. 132K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png
  11. 112K /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png
".slice(6, -6)

相关推荐