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

这个简短的教程解释了如何在 Linux 操作系统中查找目录的大小。 在图形模式下查找文件和目录的大小非常容易! 我们所要做的就是右键单击文件或目录,然后选择 特性 上下文菜单中的选项。 但是,了解如何从 CLI 模式检查目录的大小也同样重要。

在 Linux 中查找目录的大小

我们可以使用 'du' Linux 和类 Unix 操作系统中的命令。 这 du 命令将估计和汇总文件和目录空间使用情况。

对于那些想知道的人, du 代表 d风险 智者。

的典型语法 命令如下:

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

现在,让我向您展示如何使用命令行在 Linux 中查找目录大小 du 命令与示例。

1.显示当前目录大小

Enter 'du' 命令不带任何选项来显示当前目录及其子目录的大小。

$ du

样本输出:

在 Linux 中查找当前目录的大小

正如您在上面的输出中看到的, du 命令显示我当前目录及其子目录的磁盘使用情况。

2.显示特定目录的大小

显示特定目录的大小,例如 ostechnix, 跑:

$ du ostechnix/

样本输出:

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

您还可以一次性显示多个目录的大小,如下所示:

$ du ~/Desktop/ ~/Downloads/

3.以人类可读的格式显示目录大小

默认情况下, du 显示大小 bytes. 我们也可以显示尺寸 “人类可读格式” (即为每个大小自动选择适当的单位),而不是标准块大小。

为此,添加 -h 标记 du 命令如下图。

$ du -h ostechnix/

样本输出:

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

现在您可以看到以千字节、兆字节和千兆字节为单位的目录大小,非常清晰易懂。

4.以特定格式显示目录大小

我们还可以仅以 KB、MB 或 GB 为单位显示磁盘使用大小。

为此,请使用 -k 对于千字节, -m 兆字节

$ du -k ostechnix/
$ du -m ostechnix/

5.显示目录的总大小

我们可以使用显示当前工作目录的总人类可读大小 -s-h 标志。

$ du -sh

这里, -s flag 表示摘要。

样本输出:

54G

如果要检查特定目录使用的总磁盘空间,请运行:

$ du -sh ~/ostechnix

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

$ du -sh ~/Desktop ~/Downloads

例如,以人类可读格式获取组合目录的总数 ~/Desktop, ~/DownLoads~/Music, 添加 -C 旗帜:

$ du -chs ~/Desktop ~/Downloads ~/Music

这里, -c 指累计总数。

样本输出:

4.0K	/home/sk/Desktop 47G	/home/sk/Downloads 3.9G	/home/sk/Music 51G	total

要仅显示给定目录的总计,包括所有子目录,请使用 ‘grep’ 命令与 'du' 命令如下。

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

6.显示目录和子目录的大小,最多N级深

一个目录可能包含大量子目录。 您可能希望列出目录和任何子目录的大小,最多只能列出 ñ 层次深。

以下命令显示给定目录及其子目录的人类可读大小,最多为 2 深层次:

$ du -h --max-depth=2 ~/Downloads

7.根据大小对目录进行排序

要找出哪些子目录占用了多少磁盘大小并按大小对它们进行排序,请使用以下命令:

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

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

8.查找文件和目录的大小

正如您在上述所有输出中可能注意到的那样, du 命令只显示目录的磁盘使用情况。 但是,文件呢?

要显示所有项目(包括文件和目录)的磁盘使用情况,请使用 -一个 旗帜。

$ du -ah ostechnix/

现在,您将以人类可读的格式查看所有文件和文件夹的磁盘使用情况。

样本输出:

在 Linux 中以人类可读的格式显示文件和文件夹的磁盘使用情况

9.排除某些类型的文件

以下命令将显示当前目录的大小,包括其子目录,但会排除所有目录的大小 .mp4 文件。

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

小费: 我们能找到最大或最小的目录/文件吗? 当然,是的! 检查以下指南。

  • 如何在 Linux 中查找最大和最小的目录和文件

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

$ man du

推荐阅读:

  • 如何使用 Ncdu 检查 Linux 中的磁盘空间使用情况
  • Du Command 的一些不错的替代方案
  • 如何在 Linux 中创建一定大小的文件

结论

在本指南中,我们了解了如何使用 Linux 查找目录的总大小 du 命令与示例。 如您所见,在 Linux 中获取文件夹或目录大小并不是什么大问题。

命令行目录大小磁盘使用du命令查找目录大小文件夹大小LinuxLinux基础Linux命令Linux技巧