本文将介绍在Linux中使用 "gdu "命令行工具的指南。这个工具可以用来分析连接到你的Linux系统的任何存储设备上的自由空间和使用空间。gdu是用Go编程语言编写的,它声称在分析固态驱动器方面速度很快。根据其GitHub仓库提供的一个基准,它可以比其他类似工具更快地分析整个磁盘。
Gdu的主要特点
Gdu可以分析整个磁盘的自由空间和使用空间,或者可以找到单个文件和目录的大小信息。它也可以忽略特定的目录,使它们被排除在磁盘使用分析之外。Gdu提供了一个命令行选项,你可以分配CPU核心来加速分析过程。Gdu的其他主要特点包括:能够产生彩色输出以提高可读性,能够忽略隐藏的文件和文件夹,一个可选的互动模式,能够分析连接到Linux系统的外部驱动器,以及能够将结果以JSON格式导出到外部文件。
在Linux中安装Gdu
你可以通过下载该应用程序的开发者提供的官方Linux软件包在Linux中安装gdu。这些软件包与许多Linux发行版和硬件架构兼容。在所有Linux发行版上工作的通用可执行二进制文件也是可用的。你可以从GitHub上的gdu发布页面下载这些软件包和二进制文件。
在Linux中使用Gdu命令
要显示位于当前目录下的所有文件和文件夹的大小,运行以下命令(假设你已经下载了amd64架构的可执行二进制文件)。
$ ./gdu_linux_amd64
如果你安装了一个系统范围内的gdu包,你很多时候只需要运行下面的命令来获得目录信息。
$ gdu
根据你当前的目录,你可能会看到一些类似这样的输出。

在这种交互式模式下,你可以使用键盘上的方向键以及通过鼠标滚轮来滚动条目。你可以通过点击键导航到任何列出的目录。
如果你只想在非交互式模式下获得磁盘使用信息,可以用"-np "开关运行相同的命令。
$ ./gdu_linux_amd64 -np

要显示任何特定目录的信息,在交互式或非交互式模式下向gdu命令提供其路径。这里有两个例子的命令,显示了两种模式的用法。
$ ./gdu_linux_amd64 "$HOME/nltk_data"
$ ./gdu_linux_amd64 -np "$HOME/nltk_data"

要显示一个目录的总大小而不列出其内容,使用"-nps "开关。
$ ./gdu_linux_amd64 -nps "$HOME/nltk_data"

要忽略隐藏的文件夹,使用"-H "命令行选项。
$ ./gdu_linux_amd64 -H
要忽略一个特定的目录或多个文件夹,你可以使用"-i "命令行选项并提供空格分隔的绝对路径。下面是一个命令的例子。
$ ./gdu_linux_amd64 -np -i "$HOME/nltk_data/corpora/wordnet"
你可以用任何其他的绝对路径替换上述命令中的目录路径。

要显示连接到你的Linux系统的所有内部和外部设备的可用和已用空间,使用gdu命令和"-d "命令行开关。
$ ./gdu_linux_amd64 -d
根据你的Linux系统的配置,你可能会看到一些类似这样的输出。

这是在交互式模式下,所以你可以访问每个驱动器的内容,也可以检查单个文件和文件夹的大小。要在非交互式模式下获得同样的信息,请使用以下命令。
$ ./gdu_linux_amd64 -npsd

要把分析结果导出到一个JSON文件,使用"-o "命令行选项。下面是一个例子。
$ ./gdu_linux_amd64 "$HOME/nltk_data" -o info.json
你可以用你选择的任何其他绝对路径替换引号中的目录路径。你可以在"-o "命令行开关后使用任何文件名来导出结果。
关于gdu及其命令行选项的更多信息,请使用以下命令。
$ ./gdu_linux_amd64 --help
结论
Gdu是一个快速的磁盘使用分析工具,专门针对固态硬盘进行优化。虽然它也适用于传统的硬盘,但它的性能改进和分析速度在固态硬盘上尤其明显。它的交互式模式对于在目录中上下浏览时查找文件大小相当有用。
