查找目录中所有文件的总大小
Contents
1. 概述
有时,我们想查找目录及其所有子目录中所有文件的总大小。一种简单的方法是使用du命令。
在这个简短的教程中,我们将了解如何使用 du来计算目录中文件的总大小。
2. 查找目录大小
假设我们有以下目录:
$ ls
Zoom.pkg jdk-15.0.2_osx-x64_bin.dmg
etc pdfs
googlechrome.dmg photos
要获取此目录中和目录下所有文件的总大小,我们可以使用du :
$ du -s
1278490188 .
-s参数 提供用于给定目录的所有空间的摘要。我们还可以添加*-h*使其成为一个友好的数字(而不是字节):
$ du -sh
1.2G .
3. 过滤掉文件
对于大多数版本的du,我们可以告诉它忽略某些文件。让我们将*–exclude添加 到我们的du命令以及一个 shell 模式以忽略所有.dmg*文件:
$ du -sh --exclude='*.dmg'
466M .
这是我们下载文件夹中文件和子目录所用空间的摘要,不包括任何*.dmg*文件。在某些系统上,ignore 命令是一个 -I参数,后跟模式:
% du -sh -I "*.dmg"
466M .
4.定位大文件或目录
现在我们知道文件占用了多少空间。接下来,让我们找到占用大量空间的特定文件或目录。如果我们将*-d 1*添加 到我们的命令,我们可以计算特定深度的目录大小:
$ du -d 1 -h
662M ./etc
12M ./pdfs
231M ./photos
1.2G .
我们取出 -s参数并将其替换为我们的 -d参数以获得我们的结果。通过使用 -d参数,我们可以找到哪个目录占用了大量空间。在这种情况下,*etc/*似乎是罪魁祸首。
为了更深入地挖掘,我们可以使用*-d 2* 或*-d 3等来显示多个层次的文件。或者,我们可以cd进入特定目录并再次运行我们的du*命令以找到目录结构下方最大的子目录或文件。