首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

几个用于替代 du 命令的更好选择

我发现了五个可以替代原有的 du 命令的更好的工具。

-- Sk

致谢

编译自 |

https://www.ostechnix.com/some-good-alternatives-to-du-command/

作者 | Sk

译者 | Hank Chow (HankChow) 共计翻译:28.0篇 贡献时间:353 天

大家对 命令应该都不陌生,它可以在类 Unix 系统中对文件和目录的空间使用情况进行计算和汇总。如果你也经常需要使用 命令,你会对以下内容感兴趣的。我发现了五个可以替代原有的 命令的更好的工具。当然,如果后续有更多更好的选择,我会继续列出来。如果你有其它推荐,也欢迎在评论中留言。

ncdu

作为普通 的替代品,这在 Linux 社区中已经很流行了。 正是基于开发者们对 的性能不满意而被开发出来的。 是一个使用 C 语言和 ncurses 接口开发的简易快速的磁盘用量分析器,可以用来查看目录或文件在本地或远程系统上占用磁盘空间的情况。如果你有兴趣查看关于 的详细介绍,可以浏览《如何在 Linux 上使用 ncdu 查看磁盘占用量

[1]

》这一篇文章。

tin-summer

tin-summer 是使用 Rust 语言编写的自由开源工具,它可以用于查找占用磁盘空间的文件,它也是 命令的另一个替代品。由于使用了多线程,因此 tin-summer 在计算大目录的大小时会比 命令快得多。tin-summer 与 命令之间的区别是前者读取文件的大小,而后者则读取磁盘使用情况。

tin-summer 的开发者认为它可以替代 ,因为它具有以下优势:

◈ 在大目录的操作速度上比 更快;

◈ 在显示结果上默认采用易读格式;

◈ 可以使用正则表达式排除文件或目录;

◈ 可以对输出进行排序和着色处理;

◈ 可扩展,等等。

安装 tin-summer

要安装 tin-summer,只需要在终端中执行以下命令:

你也可以使用 软件包管理器安装 tin-summer,但你需要在系统上先安装 Rust。在 Rust 已经安装好的情况下,执行以下命令:

如果上面提到的这两种方法都不能成功安装 tin-summer,还可以从它的软件发布页

[2]

下载最新版本的二进制文件编译,进行手动安装。

用法

(LCTT 译注:tin-summer 的命令名为 )

如果需要查看当前工作目录的文件大小,可以执行以下命令:

不需要进行额外声明,它也是默认以易读的格式向用户展示数据。在使用 命令的时候,则必须加上额外的 参数才能得到同样的效果。

只需要按以下的形式执行命令,就可以查看某个特定目录的文件大小。

还可以对输出结果进行排序,例如下面的命令可以输出指定目录中最大的 5 个文件或目录:

顺便一提,上面结果中的最后一行是指定目录 的总大小。所以不要惊讶为什么输入的是 5 而实际输出了 6 行结果。

在当前目录下查找带有构建工程的目录,可以使用以下命令:

tin-summer 同样支持查找指定大小的带有构建工程的目录。例如执行以下命令可以查找到大小在 100 MB 以上的带有构建工程的目录:

如上文所说,tin-summer 在操作大目录的时候速度比较快,因此在操作小目录的时候,速度会相对比较慢一些。不过它的开发者已经表示,将会在以后的版本中优化这个缺陷。

要获取相关的帮助,可以执行以下命令:

如果想要更详尽的介绍,可以查看这个项目的 GitHub 页面

[3]

dust

(含义是 + = )使用 Rust 编写,是一个免费、开源的更直观的 工具。它可以在不需要 或 命令的情况下即时显示目录占用的磁盘空间。与 tin-summer 一样,它会默认情况以易读的格式显示每个目录的大小。

安装 dust

由于 也是使用 Rust 编写,因此它也可以通过 软件包管理器进行安装:

也可以从它的软件发布页

[4]

下载最新版本的二进制文件,并按照以下步骤安装。在写这篇文章的时候,最新的版本是 0.3.1。

抽取文件:

最后将可执行文件复制到你的 (例如 )下:

用法

需要查看当前目录及所有子目录下的文件大小,可以执行以下命令:

输出示例:

带上 参数可以按照从当前目录起始的完整目录显示。

dust 2

如果需要查看多个目录的大小,只需要同时列出这些目录,并用空格分隔开即可:

下面再多举几个例子,例如:

显示文件的长度:

只显示 10 个目录:

查看当前目录下最多 3 层子目录:

查看帮助:

如果想要更详尽的介绍,可以查看这个项目的 GitHub 页面

[5]

diskus

也是使用 Rust 编写的一个小型、快速的开源工具,它可以用于替代 命令。 将会计算当前目录下所有文件的总大小,它的效果相当于 或 ,但其开发者表示 的运行速度是 的 9 倍。

安装 diskus

已经存放于Arch Linux 社区用户软件仓库Arch Linux User-community Repository(AUR

[6]

)当中,可以通过任何一种 AUR 帮助工具(例如

[7]

)把它安装在基于 Arch 的系统上:

对于 Ubuntu 及其衍生发行版,可以在 的软件发布页

[8]

上下载最新版的软件包并安装:

还可以使用 软件包管理器安装 ,但必须在系统上先安装 Rust 1.29+。

安装好 Rust 之后,就可以使用以下命令安装 :

用法

在通常情况下,如果需要查看某个目录的大小,我会使用形如 的命令。

这里的 参数表示显示总大小。

如果使用 ,直接就可以显示当前目录的总大小。

我使用 查看 Arch Linux 系统上各个目录的总大小,这个工具的速度确实比 快得多。但是它目前只能显示当前目录的大小。

要获取相关的帮助,可以执行以下命令:

如果想要更详尽的介绍,可以查看这个项目的 GitHub 页面

[9]

duu

是 Directory Usage Utility 的缩写。它是使用 Python 编写的查看指定目录大小的工具。它具有跨平台的特性,因此在 Windows、Mac OS 和 Linux 系统上都能够使用。

安装 duu

安装这个工具之前需要先安装 Python 3。不过目前很多 Linux 发行版的默认软件仓库中都带有 Python 3,所以这个依赖并不难解决。

Python 3 安装完成后,从 的软件发布页

[10]

下载其最新版本。

用法

要查看当前目录的大小,只需要执行以下命令:

输出示例:

从上图可以看出, 会显示当前目录下文件的数量情况,按照 Byte、KB、MB 单位显示这些文件的总大小,以及每个文件的大小。

如果需要查看某个目录的大小,只需要声明目录的绝对路径即可:

如果想要更详尽的介绍,可以查看这个项目的 GitHub 页面

[11]

以上就是 命令的五种替代方案,希望这篇文章能够帮助到你。就我自己而言,我并不会在这五种工具之间交替使用,我更喜欢使用 。欢迎在下面的评论区发表你对这些工具的评论。

via:https://www.ostechnix.com/some-good-alternatives-to-du-command/

作者:SK

[13]

选题:lujun9972译者:HankChow校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181118B0SDL100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券