如何使用 duf 检查 Linux 上的磁盘使用情况

Linux 有一堆有用的命令来简化系统上的某些操作。例如,df可帮助您确定驱动器上有多少可用磁盘空间,而du显示系统上估计的文件空间使用情况。

虽然这两个命令都运行良好并按预期完成工作,但还有另一个有用的命令称为duf,它是 df 的替代品,可提供更好的磁盘监控功能。

在本指南中,我们将详细介绍 duf 并介绍在 Linux 上安装和使用它的步骤。

duf 或 Disk Usage/Free 是一个免费的开源命令行实用程序,允许您从终端窗口内查看系统的磁盘使用情况和可用空间。

它本质上将 du 和 df 的功能组合到一个命令中,因此您不必单独运行这两个命令。不仅如此,使用 duf,您还可以以现代且易于理解的方式获取信息,这对于刚开始使用 Linux 的人来说更加用户友好。

与 df 相比,duf 的最大优势之一是其全面的功能集;一种让您可以自由地过滤、排序和将结果导出到 JSON 等。

以下是 duf 的所有突出显示功能的列表:

  • 色彩丰富且易于理解的输出
  • 自由调整终端主题
  • 能够根据您的喜好对结果进行排序或过滤
  • 以 JSON 格式导出输出的选项
  • 根据您在计算机上运行的 Linux 发行版,您可以通过几种不同的方式在其上安装 duf。

    使用 DEB 或 RPM 包安装 duf 非常容易,这要归功于开发人员提供的官方包文件。

    对于这种方法,首先,转到 duf 的 GitHub 发布页面。然后,如果您使用的是 Debian 或其衍生产品,请单击以.deb扩展名结尾的文件,如果您运行的是 RHEL 或其任何衍生产品(如 Fedora、CentOS 等),则单击以.rpm扩展名结尾的文件。

    下载:duf 包

    如果您不想从 Releases 页面下载软件包,您还可以使用wget在终端中直接获取软件包。

    为此,请通过运行以下命令检查系统上是否存在 wget:

    wget --version

    如果不是,请先下载。

    现在,如果您使用的是基于 Debian 的发行版,请运行以下命令以获取 duf:

    wget https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.deb

    在基于 RHEL 的发行版上,运行:

    wget https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.rpm

    现在,您有两个选项来安装该软件包。您可以使用系统软件包安装程序的 GUI 版本,也可以从命令行安装它。

    如果您更喜欢 GUI 方法,请转到下载目录,右键单击包文件,然后根据您的 Linux 发行版选择Open With GDebi Package InstallerOpen With Software Installer。打开安装程序后,单击“安装包”或“安装”按钮开始安装。

    或者,要使用 CLI 方法,请打开终端并使用cd 命令导航到下载目录。然后,根据您的 Linux 发行版,输入适当的命令以在您的系统上安装该软件包。

    在基于 Debian 的发行版上:

    sudo dpkg -i duf_0.x.x_linux_amd64.deb

    在基于 RHEL 的发行版上:

    sudo rpm -i duf_0.x.x_linux_amd64.rpm

    Arch 用户可以使用像 Yay 这样的 AUR 助手从 AUR 安装 duf:

    yay -S duf

    您还可以使用其官方 snap 包在您的系统上安装 duf。为此,请通过运行以下命令确保您的计算机上安装了 Snap:

    snap --version

    如果这返回一个版本号,则表示系统上存在 Snap,您可以继续下一步。但是,如果没有,您需要先安装 Snap。

    考虑到您已经完成了那部分,您可以通过运行以下命令通过 Snap 安装 duf:

    sudo snap install duf-utility

    虽然包管理器和 Snap 方法都运行良好,但如果您想从源代码构建程序,duf 提供了这样做的自由。但是,由于 duf 是用 Go 编写的,因此请确保您的计算机上有一个可用的 Go 环境。

    完成后,您可以通过运行以下命令集来编译 duf:

    git clone https://github.com/muesli/duf.git
    cd duf
    go build

    安装 duf 后,您可以立即开始使用它。为此,请打开终端并运行:

    duf

    这将返回系统上所有设备和挂载点的列表,如下所示。

    但是,如果您只想列出特定设备和挂载点,可以使用以下格式的命令缩小结果范围:

    duf /
    duf /home

    此外,如果您需要显示所有文件系统,包括伪、重复和不可访问的文件系统,您可以这样做:

    duf --all

    虽然以表格形式显示的输出非常容易理解,但对其进行过滤以显示或隐藏特定表格可以更轻松地查看有关您需要了解的表格的信息。

    因此,duf为过滤设备提供了两个选项:-- only--hide,这是它们如何派上用场。

    假设您想查看仅在两个特定表中列出的设备:本地和网络。在这种情况下,您可以修改它以仅包含两个表,而不是运行普通的 duf 命令。像这样:

    duf --only local,network

    同样,如果您想从结果中隐藏这些表,您可以这样做:

    duf --hide local,network

    duf 的过滤也适用于文件系统和挂载点,因此您也可以显示或隐藏文件系统和挂载点。

    要显示特定的文件系统:

    duf --only-fs tmps,vfat

    当您想隐藏特定文件系统时:

    duf --hide-fs tmpfs,vfat

    显示挂载点:

    duf --only-mp /,/home

    从结果中隐藏这些挂载点:

    duf --hide-mp /,/home

    与过滤结果以查看有关所选设备和安装点的信息非常相似,您也可以对表数据的列出顺序进行排序。

    例如,如果您想对表中的SIZE列进行排序,以下命令可以为您完成:

    duf --sort size

    同样,您还可以显示或隐藏表格中的特定列。因此,假设您只想在结果中显示SIZEAVAIL列。你可以这样做:

    duf --output size,avail

    所有 Unix 和类 Unix 系统都使用块和 inode 来组织和存储数据。块代表数据,而 inode 代表文件。

    使用 duf,您可以查看块和 inode,尽管默认表示设置为显示块数据。要查看 inode 信息而不是块使用情况,只需运行:

    duf --inodes

    如果您需要导出结果,duf 为您提供了以 JSON 文件格式导出它们的选项。这使得导出的文件在不同的应用程序和设备上更易于访问和读取。

    只需打开一个终端并运行以下命令以 JSON 格式导出您的 duf 结果:

    duf --json

    尽管 duf 会自动正确检测您终端的配色方案,但如果无法检测到,您可以使用--theme参数更改主题,如下所示:

    duf --theme light

    或者

    duf --theme dark

    在任何时候,如果您遇到命令语法方面的问题,都可以使用以下方法寻求帮助:

    duf --help

    多亏了 duf 命令,在 Linux 上监控磁盘使用情况比以往任何时候都容易。虽然 du 和 df 等其他 CLI 工具也存在,它们可以完成工作,但 duf 的易用性和易于理解的数据表示显着简化了该过程。

    更不用说,它为您提供了更多功能和对输出的控制,因此您不会被太多信息淹没。

    如果您刚刚开始使用 Linux,您可能会从学习使用命令行挂载硬盘驱动器中受益。

    标签: 磁盘分区 Linux 应用程序 Linux 命令