如何在Linux中找到目录的大小

时间:2020-03-21 11:43:44  来源:igfitidea点击:

本简要教程介绍了如何在Linux操作系统中找到目录的大小。
找到GUI模式的文件和目录大小很容易!我们所要做的就是右键单击文件或者目录,然后从上下文菜单中选择"属性"选项。
但是,了解如何从CLI模式查找目录的大小同样重要。
让我解释如何从命令行找到目录大小。

在Linux中查找目录的大小

要找出目录的大小,我们将使用'du'命令。
du代表磁盘使用情况。

du命令的典型语法如下:

du [OPTION]... [FILE] [directory]...
du [OPTION]... --files0-from=F

让我们在终端中键入'du'命令,并查看它显示的内容。

$du

示例输出:

如上所述,du命令将显示目录的磁盘使用以及当前目录中的子目录。

要显示特定目录的大小,例如onIrad,运行:

$du theitroad/

示例输出:

36252 theitroad/Swami Vivekananda (Chicago Speech)
452 theitroad/MultiCD/plugins
44 theitroad/MultiCD/.git/hooks
4 theitroad/MultiCD/.git/branches
1012 theitroad/MultiCD/.git/objects/pack
4 theitroad/MultiCD/.git/objects/info
1020 theitroad/MultiCD/.git/objects
8 theitroad/MultiCD/.git/logs/refs/heads
8 theitroad/MultiCD/.git/logs/refs/remotes/origin
12 theitroad/MultiCD/.git/logs/refs/remotes
24 theitroad/MultiCD/.git/logs/refs
32 theitroad/MultiCD/.git/logs
8 theitroad/MultiCD/.git/refs/heads
4 theitroad/MultiCD/.git/refs/tags
8 theitroad/MultiCD/.git/refs/remotes/origin
12 theitroad/MultiCD/.git/refs/remotes
28 theitroad/MultiCD/.git/refs
8 theitroad/MultiCD/.git/info
1168 theitroad/MultiCD/.git
140 theitroad/MultiCD/maps
2706504 theitroad/MultiCD
2832056 theitroad/

我们还可以以"人类可读格式"显示尺寸(即,自动选择每个尺寸的适当单位),而不是标准块大小。

要执行此操作,请使用du命令添加-h标记,如下所示。

$du -h theitroad/

示例输出:

36M theitroad/Swami Vivekananda (Chicago Speech)
452K theitroad/MultiCD/plugins
44K theitroad/MultiCD/.git/hooks
4.0K theitroad/MultiCD/.git/branches
1012K theitroad/MultiCD/.git/objects/pack
4.0K theitroad/MultiCD/.git/objects/info
1020K theitroad/MultiCD/.git/objects
8.0K theitroad/MultiCD/.git/logs/refs/heads
8.0K theitroad/MultiCD/.git/logs/refs/remotes/origin
12K theitroad/MultiCD/.git/logs/refs/remotes
24K theitroad/MultiCD/.git/logs/refs
32K theitroad/MultiCD/.git/logs
8.0K theitroad/MultiCD/.git/refs/heads
4.0K theitroad/MultiCD/.git/refs/tags
8.0K theitroad/MultiCD/.git/refs/remotes/origin
12K theitroad/MultiCD/.git/refs/remotes
28K theitroad/MultiCD/.git/refs
8.0K theitroad/MultiCD/.git/info
1.2M theitroad/MultiCD/.git
140K theitroad/MultiCD/maps
2.6G theitroad/MultiCD
2.8G theitroad/

现在,我们将在千字节,兆字节和千兆字节中看到目录的大小,这非常清晰,易于理解。

我们还可以在KB或者MB或者GB中显示磁盘使用大小。

为此,请使用-k千字节,-m for megabytes

$du -k theitroad/
$du -m theitroad/

要了解哪些子目录消耗多少磁盘大小,请使用此命令:

$du -h --max-depth=1 | sort -hr

最大的子目录将显示在顶部。
我们可以通过增加--max-depth参数的值来增加目录深度级别。

由于我们可以在所有上述输出中注意到,Du命令仅显示目录的磁盘使用情况。
但是,文件怎么样?
要显示包含文件和目录的所有项目的磁盘使用,请使用-a标志。

$du -ah theitroad/

现在,我们将看到人为可读形式中所有文件和文件夹的磁盘使用情况。

我们还可以一次显示多个目录的大小,如下所示。

$du -h directory1 directory2

如果要检查特定目录使用的总磁盘空间,请使用-s标志。

$du -sh theitroad

其中-S标志表示摘要。

示例输出:

2.8G theitroad

同样,要显示多个目录使用的总磁盘空间,例如onatroad和/etc,运行:

$du -sh theitroad /home/sk/

示例输出:

2.8G theitroad
279G /home/sk/

要显示总目录的总计,请使用du -sh命令添加-c标志。

$du -csh theitroad /home/sk/

示例输出:

2.8G theitroad
279G /home/sk/
281G total

只要仅显示给定目录的总计,包括所有子目录,使用以下命令使用"grep"命令如下。

$du -ch Downloads/| grep total
12G total

我们可能希望排除某些类型的文件。
以下命令将显示当前目录的大小,包括其子目录,但它将排除所有.mp4文件的大小。

$du -ch --exclude='*.mp4' | grep total 
6.4G total

有关"du"命令的更多详细信息,请检查手册页。

$man du