LinuxProbe 发表于 2020-2-5 09:30:50

获取Linux系统中目录文件大小的方法


你应该已经注意到,在 Linux 中使用 ls 命令 列出的目录内容中,目录的大小仅显示 4KB。这个大小正确吗?如果不正确,那它代表什么,又该如何获取 Linux 中的目录或文件夹大小?这是一个默认的大小,是用来存储磁盘上存储目录的元数据的大小。
Linux 上有一些应用程序可以 获取目录的实际大小。其中,磁盘使用率(du)命令已被 Linux 管理员广泛使用。我将向您展示如何使用各种选项获取文件夹大小。什么是 du 命令?
du 命令 表示 磁盘使用率(Disk Usage)。这是一个标准的 Unix 程序,用于估计当前工作目录中的文件空间使用情况。它使用递归方式总结磁盘使用情况,以获取目录及其子目录的大小。如同我说的那样, 使用 ls 命令时,目录大小仅显示 4KB。参见下面的输出。$ ls -lh | grep ^ddrwxr-xr-x3 daygeek daygeek 4.0K Aug2 13:57 Bank_Detailsdrwxr-xr-x2 daygeek daygeek 4.0K Mar 152019 daygeekdrwxr-xr-x6 daygeek daygeek 4.0K Feb 162019 drive-2daygeekdrwxr-xr-x 13 daygeek daygeek 4.0K Jan62019 drive-mageshmdrwxr-xr-x 15 daygeek daygeek 4.0K Sep 29 21:32 Thanu_Photos1) 在 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 -2020G    /home/daygeek/Documents/9.6G    /home/daygeek/Documents/drive-2daygeek6.3G    /home/daygeek/Documents/Thanu_Photos5.3G    /home/daygeek/Documents/Thanu_Photos/Camera5.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-videos3.2G    /home/daygeek/Documents/drive-mageshm2.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-Photos2.2G    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month916M    /home/daygeek/Documents/drive-mageshm/Tanisha454M    /home/daygeek/Documents/drive-mageshm/2g-backup415M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video300M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017288M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017226M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017219M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents213M    /home/daygeek/Documents/drive-mageshm/photos163M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent161M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Images154M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017150M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-20163) 在 Linux 上如何获取每个目录的摘要
使用如下 du 命令格式仅获取每个目录的摘要。$ du -hs /home/daygeek/Documents/* | sort -rh | head -109.6G    /home/daygeek/Documents/drive-2daygeek6.3G    /home/daygeek/Documents/Thanu_Photos3.2G    /home/daygeek/Documents/drive-mageshm756K    /home/daygeek/Documents/Bank_Details272K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png172K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png164K    /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf132K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png112K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png96K    /home/daygeek/Documents/distro-info.xlsx4) 在 Linux 上如何获取每个目录的不含子目录的大小
使用如下 du 命令格式来展示每个目录的总大小,不包括子目录。$ du -hS /home/daygeek/Documents/ | sort -rh | head -205.3G    /home/daygeek/Documents/Thanu_Photos/Camera5.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-videos2.3G    /home/daygeek/Documents/drive-2daygeek/Thanu-Photos1.5G    /home/daygeek/Documents/drive-mageshm831M    /home/daygeek/Documents/drive-mageshm/Tanisha454M    /home/daygeek/Documents/drive-mageshm/2g-backup300M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Jan-2017288M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-2017253M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video226M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Sep-2017219M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Documents213M    /home/daygeek/Documents/drive-mageshm/photos163M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Video/Sent154M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/June-2017150M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-2016127M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-2016100M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Oct-201694M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Nov-201792M    /home/daygeek/Documents/Thanu_Photos/WhatsApp Images90M    /home/daygeek/Documents/drive-2daygeek/Thanu-photos-by-month/Dec-20175) 在 Linux 上如何仅获取一级子目录的大小
如果要获取 Linux 上给定目录的一级子目录(包括其子目录)的大小,请使用以下命令格式。$ du -h --max-depth=1 /home/daygeek/Documents/3.2G    /home/daygeek/Documents/drive-mageshm4.0K    /home/daygeek/Documents/daygeek756K    /home/daygeek/Documents/Bank_Details9.6G    /home/daygeek/Documents/drive-2daygeek6.3G    /home/daygeek/Documents/Thanu_Photos20G    /home/daygeek/Documents/6) 如何在 du 命令输出中获得总计如果要在 du 命令输出中获得总计,请使用以下 du 命令格式。$ du -hsc /home/daygeek/Documents/* | sort -rh | head -1020G    total9.6G    /home/daygeek/Documents/drive-2daygeek6.3G    /home/daygeek/Documents/Thanu_Photos3.2G    /home/daygeek/Documents/drive-mageshm756K    /home/daygeek/Documents/Bank_Details272K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-TouchInterface1.png172K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-NightLight.png164K    /home/daygeek/Documents/ConfigServer Security and Firewall (csf) Cheat Sheet.pdf132K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-Todo.png112K    /home/daygeek/Documents/user-friendly-zorin-os-15-has-been-released-ZorinAutoTheme.png
页: [1]
查看完整版本: 获取Linux系统中目录文件大小的方法