标签 df 下的文章

用 Linux 的 du 命令了解你正在使用多少磁盘空间。

 title=

无论你有多少存储空间,它总有可能被填满。在大多数个人设备上,磁盘被照片、视频和音乐填满,但在服务器上,由于用户账户和日志文件数据,空间减少是很正常的。无论你是负责管理一个多用户系统,还是只负责自己的笔记本电脑,你都可以用 du 命令检查磁盘的使用情况。

默认情况下,du 列出了当前目录中使用的磁盘空间,以及每个子目录的大小。

$ du
12 ./.backups
60 .

在这个例子中,当前目录总共占用了 60KB,其中 12KB 被子目录 .backups 占用。

如果你觉得这很混乱,并希望分别看到所有的大小,你可以使用 --separate-dirs(或简写 -S)选项:

$ du --separate-dirs
12 ./.backups
48 .

显示相同的信息(48KB 加 12KB 是 60KB),但每个目录被独立处理。

如需看到更多的细节,可以使用 --all(简写 -a)选项,它显示每个目录中以及每个文件:

$ du --separate-dirs --all        
4    ./example.adoc
28   ./graphic.png
4    ./.backups/example.adoc~
12   ./.backups
4    ./index.html
4    ./index.adoc
48   .

查看文件的修改时间

当查看文件以找出占用空间的内容时,查看文件最后一次被修改的时间是很有用的。一年内没有使用过的文件可以考虑归档,特别是当你的空间快用完时。

通过 du 查看文件的修改时间,使用 --time 选项:

$ du --separate-dirs --all --time
28   2021-07-21 11:12    ./graphic.png
4    2021-07-03 10:43    ./example.adoc
4    2021-07-13 13:03    ./index.html
4    2021-07-23 14:18    ./index.adoc
48   2021-07-23 14:19    .

为文件大小设置一个阈值

当为了磁盘空间而查看文件时,你可能只关心较大的文件。你可以通过 --threshold(简写 -t)选项为文件大小设置一个阈值。例如,只查看大于 1GB 的文件:

$ \du --separate-dirs --all --time --threshold=1G ~/Footage/
1839008 2021-07-14 13:55    /home/tux/Footage/snowfall.mp4
1577980 2020-04-11 13:10    /home/tux/Footage/waterfall.mp4
8588936 2021-07-14 13:55    /home/tux/Footage/

当文件较大时,它们可能难以阅读。使用 --human-readable(简写 -h)选项可以使文件大小更容易阅读:

$ du --separate-dirs --all --time --threshold=1G --human-readable ~/Footage/
1.8G 2021-07-14 13:55    /home/tux/Footage/snowfall.mp4
1.6G 2020-04-11 13:10    /home/tux/Footage/waterfall.mp4
8.5G 2021-07-14 13:55    /home/tux/Footage/

查看可用磁盘空间

如需获得一个驱动器上可用磁盘空间的摘要,请阅读我们关于 df 命令的文章。


via: https://opensource.com/article/21/7/check-disk-space-linux-du

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:turbokernel

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

利用 df 命令查看 Linux 磁盘还剩多少空间。

 title=

磁盘空间已经不像计算机早期那样珍贵,但无论你有多少磁盘空间,总有耗尽的可能。计算机需要一些磁盘空间才能启动运行,所以为了确保你没有在无意间用尽了所有的硬盘空间,偶尔检查一下是非常必要的。在 Linux 终端,你可以用 df 命令来做这件事。

df 命令可以显示文件系统中可用的磁盘空间。

要想使输出结果易于阅读,你可以加上 --human-readable(或其简写 -h)选项:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.0T  525G  500G  52% /

在这个例子中,计算机的磁盘已经用了 52%,还有 500 GB 可用空间。

由于 Linux 从整体上看待所有挂载设备的文件系统,df 命令会展示出连接到计算机上的每个存储设备的详细信息。如果你有很多磁盘,那么输出结果将会反映出来:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       110G   45G   61G  43% /
devtmpfs         12G     0   12G   0% /dev
tmpfs            12G  848K   12G   1% /run
/dev/sda1       1.6T  1.3T  191G  87% /home
/dev/sdb1       917G  184G  687G  22% /penguin
/dev/sdc1        57G   50G  4.5G  92% /sneaker
/dev/sdd1       3.7T  2.4T  1.3T  65% /tux

在这个例子中,计算机的 /home 目录已经用了 87%,剩下 191 GB 的可用空间。

查看总的可用磁盘空间

如果你的文件系统确实很复杂,而你希望看到所有磁盘的总空间,可以使用 --total 选项:

$ df --human-readable --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       110G   45G   61G  43% /
devtmpfs         12G     0   12G   0% /dev
tmpfs            12G  848K   12G   1% /run
/dev/sda1       1.6T  1.3T  191G  87% /home
/dev/sdb1       917G  184G  687G  22% /penguin
/dev/sdc1        57G   50G  4.5G  92% /sneaker
/dev/sdd1       3.7T  2.4T  1.3T  65% /tux
total           6.6T  4.0T  2.5T  62% -

输出的最后一行展示了文件系统的总空间、已用总空间、可用总空间。

查看磁盘空间使用情况

如果你想大概了解哪些文件占用了磁盘空间,请阅读我们关于 du 命令 的文章。


via: https://opensource.com/article/21/7/check-disk-space-linux-df

作者:Seth Kenlon 选题:lujun9972 译者:piaoshi 校对:wxy

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

在 Linux 终端中有两种常用的 检查磁盘使用情况的方法du 命令和 df 命令。du 命令更多的是用来检查目录的使用空间df 命令则是提供文件系统级别的磁盘使用情况。

还有更友好的 用 GNOME “磁盘” 等图形工具在 Linux 中查看磁盘使用情况的方法。如果局限于终端,你可以使用像 ncdu 这样的 TUI 工具,以一种图形化的方式获取磁盘使用信息。

gdu: 在 Linux 终端中检查磁盘使用情况

gdu 就是这样一个用 Go 编写的工具(因此是 gdu 中的 “g”)。gdu 开发者的 基准测试 表明,它的磁盘使用情况检查速度相当快,特别是在 SSD 上。事实上,gdu 主要是针对 SSD 的,尽管它也可以在 HDD 上工作。

如果你在使用 gdu 命令时没有使用任何选项,它就会显示你当前所在目录的磁盘使用情况。

由于它具有文本用户界面(TUI),你可以使用箭头浏览目录和磁盘。你也可以按文件名或大小对结果进行排序。

你可以用它做到:

  • 向上箭头或 k 键将光标向上移动
  • 向下箭头或 j 键将光标向下移动
  • 回车选择目录/设备
  • 左箭头或 h 键转到上级目录
  • 使用 d 键删除所选文件或目录
  • 使用 n 键按名称排序
  • 使用 s 键按大小排序
  • 使用 c 键按项目排序

你会注意到一些条目前的一些符号。这些符号有特定的意义。

  • ! 表示读取目录时发生错误。
  • . 表示在读取子目录时发生错误,大小可能不正确。
  • @ 表示文件是一个符号链接或套接字。
  • H 表示文件已经被计数(硬链接)。
  • e 表示目录为空。

要查看所有挂载磁盘的磁盘利用率和可用空间,使用选项 d

gdu -d

它在一屏中显示所有的细节:

看起来是个方便的工具,对吧?让我们看看如何在你的 Linux 系统上安装它。

在 Linux 上安装 gdu

gdu 是通过 AUR 提供给 Arch 和 Manjaro 用户的。我想,作为一个 Arch 用户,你应该知道如何使用 AUR。

它包含在即将到来的 Ubuntu 21.04 的 universe 仓库中,但有可能你现在还没有使用它。这种情况下,你可以使用 Snap 安装它,这可能看起来有很多条 snap 命令:

snap install gdu-disk-usage-analyzer
snap connect gdu-disk-usage-analyzer:mount-observe :mount-observe
snap connect gdu-disk-usage-analyzer:system-backup :system-backup
snap alias gdu-disk-usage-analyzer.gdu gdu

你也可以在其发布页面找到源代码:

我更习惯于使用 dudf 命令,但我觉得一些 Linux 用户可能会喜欢 gdu。你是其中之一吗?


via: https://itsfoss.com/gdu/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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

duf 是一个终端工具,旨在增强传统的 Linux 命令 dfdu。它可以让你轻松地检查可用磁盘空间,对输出进行分类,并以用户友好的方式呈现。

duf:一个用 Golang 编写的跨平台磁盘使用情况工具

在我知道这个工具之前,我更喜欢使用像 Stacer 这样的 GUI 程序或者预装的 GNOME 磁盘使用情况程序来 检查可用的磁盘空间 和系统的磁盘使用量。

不过,duf 似乎是一个有用的终端工具,可以检查磁盘使用情况和可用空间,它是用 Golang 编写的。Abhishek 建议我试一试它,但我对它很感兴趣,尤其是考虑到我目前正在学习 Golang,真是太巧了!

无论你是终端大师还是只是一个对终端不适应的初学者,它都相当容易使用。当然,它比 检查磁盘空间利用率命令 df 更容易理解。

在你把它安装到你的系统上之前,让我重点介绍一下它的一些主要功能和用法。

duf 的特点

  • 提供所有挂载设备的概览且易于理解。
  • 能够指定目录/文件名并检查该挂载点的可用空间。
  • 更改/删除输出中的列。
  • 列出 inode 信息。
  • 输出排序。
  • 支持 JSON 输出。
  • 如果不能自动检测终端的主题,可以指定主题。

在 Linux 上安装和使用 duf

你可以在 AUR 中找到一个 Arch Linux 的软件包。如果你使用的是 Nix 包管理器,也可以找到一个包。

对于基于 Debian 的发行版和 RPM 包,你可以去它的 GitHub 发布区 中获取适合你系统的包。

它也适用于 Windows、Android、macOS 和 FreeBSD。

在我这里,我需要 安装 DEB 包,然后就可以使用了。安装好后,使用起来很简单,你只要输入:

duf

这应该会给你提供所有本地设备、已挂载的任何云存储设备以及任何其他特殊设备(包括临时存储位置等)的详细信息。

如果你想一目了然地查看所有 duf 的可用命令,你可以输入:

duf --help

例如,如果你只想查看本地连接设备的详细信息,而不是其他的,你只需要输入:

duf --only local

另一个例子是根据大小按特定顺序对输出进行排序,下面是你需要输入的内容:

duf --sort size

输出应该是像这样的:

你可以探索它的 GitHub 页面,以获得更多关于额外命令和安装说明的信息。

结束语

我发现终端工具 duf 相当方便,可以在不需要使用 GUI 程序的情况下,随时查看可用磁盘空间或使用情况。

你知道有什么类似的工具吗?欢迎在下面的评论中告诉我你的想法。


via: https://itsfoss.com/duf-disk-usage/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

在本指南中,我们将学习如何使用 df 命令。df 命令是 “Disk Free” 的首字母组合,它报告文件系统磁盘空间的使用情况。它显示一个 Linux 系统中文件系统上可用磁盘空间的数量。df 命令很容易与 du 命令混淆。它们的用途不同。df 命令报告我们拥有多少磁盘空间(空闲磁盘空间),而 du 命令报告被文件和目录占用了多少磁盘空间。希望我这样的解释你能更清楚。在继续之前,我们来看一些 df 命令的实例,以便于你更好地理解它。

df 命令使用举例

1、查看整个文件系统磁盘空间使用情况

无需任何参数来运行 df 命令,以显示整个文件系统磁盘空间使用情况。

$ df

示例输出:

Filesystem 1K-blocks Used Available Use% Mounted on
dev 4033216 0 4033216 0% /dev
run 4038880 1120 4037760 1% /run
/dev/sda2 478425016 428790352 25308980 95% /
tmpfs 4038880 34396 4004484 1% /dev/shm
tmpfs 4038880 0 4038880 0% /sys/fs/cgroup
tmpfs 4038880 11636 4027244 1% /tmp
/dev/loop0 84096 84096 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 95054 55724 32162 64% /boot
tmpfs 807776 28 807748 1% /run/user/1000

正如你所见,输出结果分为六列。我们来看一下每一列的含义。

  • Filesystem – Linux 系统中的文件系统
  • 1K-blocks – 文件系统的大小,用 1K 大小的块来表示。
  • Used – 以 1K 大小的块所表示的已使用数量。
  • Available – 以 1K 大小的块所表示的可用空间的数量。
  • Use% – 文件系统中已使用的百分比。
  • Mounted on – 已挂载的文件系统的挂载点。

2、以人类友好格式显示文件系统硬盘空间使用情况

在上面的示例中你可能已经注意到了,它使用 1K 大小的块为单位来表示使用情况,如果你以人类友好格式来显示它们,可以使用 -h 标志。

$ df -h
Filesystem Size Used Avail Use% Mounted on
dev 3.9G 0 3.9G 0% /dev
run 3.9G 1.1M 3.9G 1% /run
/dev/sda2 457G 409G 25G 95% /
tmpfs 3.9G 27M 3.9G 1% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 12M 3.9G 1% /tmp
/dev/loop0 83M 83M 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 93M 55M 32M 64% /boot
tmpfs 789M 28K 789M 1% /run/user/1000

现在,在 Size 列和 Avail 列,使用情况是以 GB 和 MB 为单位来显示的。

3、仅以 MB 为单位来显示文件系统磁盘空间使用情况

如果仅以 MB 为单位来显示文件系统磁盘空间使用情况,使用 -m 标志。

$ df -m
Filesystem 1M-blocks Used Available Use% Mounted on
dev 3939 0 3939 0% /dev
run 3945 2 3944 1% /run
/dev/sda2 467212 418742 24716 95% /
tmpfs 3945 26 3920 1% /dev/shm
tmpfs 3945 0 3945 0% /sys/fs/cgroup
tmpfs 3945 12 3933 1% /tmp
/dev/loop0 83 83 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 93 55 32 64% /boot
tmpfs 789 1 789 1% /run/user/1000

4、列出节点而不是块的使用情况

如下所示,我们可以通过使用 -i 标记来列出节点而不是块的使用情况。

$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
dev 1008304 439 1007865 1% /dev
run 1009720 649 1009071 1% /run
/dev/sda2 30392320 844035 29548285 3% /
tmpfs 1009720 86 1009634 1% /dev/shm
tmpfs 1009720 18 1009702 1% /sys/fs/cgroup
tmpfs 1009720 3008 1006712 1% /tmp
/dev/loop0 12829 12829 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 25688 390 25298 2% /boot
tmpfs 1009720 29 1009691 1% /run/user/1000

5、显示文件系统类型

使用 -T 标志显示文件系统类型。

$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
dev devtmpfs 4033216 0 4033216 0% /dev
run tmpfs 4038880 1120 4037760 1% /run
/dev/sda2 ext4 478425016 428790896 25308436 95% /
tmpfs tmpfs 4038880 31300 4007580 1% /dev/shm
tmpfs tmpfs 4038880 0 4038880 0% /sys/fs/cgroup
tmpfs tmpfs 4038880 11984 4026896 1% /tmp
/dev/loop0 squashfs 84096 84096 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 ext4 95054 55724 32162 64% /boot
tmpfs tmpfs 807776 28 807748 1% /run/user/1000

正如你所见,现在出现了显示文件系统类型的额外的列(从左数的第二列)。

6、仅显示指定类型的文件系统

我们可以限制仅列出某些文件系统。比如,只列出 ext4 文件系统。我们使用 -t 标志。

$ df -t ext4
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 478425016 428790896 25308436 95% /
/dev/sda1 95054 55724 32162 64% /boot

看到了吗?这个命令仅显示了 ext4 文件系统的磁盘空间使用情况。

7、不列出指定类型的文件系统

有时,我们可能需要从结果中去排除指定类型的文件系统。我们可以使用 -x 标记达到我们的目的。

$ df -x ext4
Filesystem 1K-blocks Used Available Use% Mounted on
dev 4033216 0 4033216 0% /dev
run 4038880 1120 4037760 1% /run
tmpfs 4038880 26116 4012764 1% /dev/shm
tmpfs 4038880 0 4038880 0% /sys/fs/cgroup
tmpfs 4038880 11984 4026896 1% /tmp
/dev/loop0 84096 84096 0 100% /var/lib/snapd/snap/core/4327
tmpfs 807776 28 807748 1% /run/user/1000

上面的命令列出了除 ext4 类型以外的全部文件系统。

8、显示一个目录的磁盘使用情况

去显示某个目录的硬盘空间使用情况以及它的挂载点,例如 /home/sk/ 目录,可以使用如下的命令:

$ df -hT /home/sk/
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 457G 409G 25G 95% /

这个命令显示文件系统类型、以人类友好格式显示已使用和可用磁盘空间、以及它的挂载点。如果你不想去显示文件系统类型,只需要忽略 -t 标志即可。

更详细的使用情况,请参阅 man 手册页。

$ man df

今天就到此这止!我希望对你有用。还有更多更好玩的东西即将奉上。请继续关注!

再见!


via: https://www.ostechnix.com/the-df-command-tutorial-with-examples-for-beginners/

作者:SK 选题:lujun9972 译者:qhwdw 校对:wxy

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

Linux 提供了所有必要的工具来帮助你确切地发现你的驱动器上剩余多少空间。Jack 在这里展示了如何做。

快速提问:你的驱动器剩余多少剩余空间?一点点还是很多?接下来的提问是:你知道如何找出这些剩余空间吗?如果你碰巧使用的是 GUI 桌面( 例如 GNOME、KDE、Mate、Pantheon 等 ),则任务可能非常简单。但是,当你要在一个没有 GUI 桌面的服务器上查询剩余空间,你该如何去做呢?你是否要为这个任务安装相应的软件工具?答案是绝对不是。在 Linux 中,具备查找驱动器上的剩余磁盘空间的所有工具。事实上,有两个非常容易使用的工具。

在本文中,我将演示这些工具。我将使用 Elementary OS(LCTT译注:Elementary OS 是基于 Ubuntu 精心打磨美化的桌面 Linux 发行版 ),它还包括一个 GUI 方式,但我们将限制自己仅使用命令行。好消息是这些命令行工具随时可用于每个 Linux 发行版。在我的测试系统中,连接了许多的驱动器(内部的和外部的)。使用的命令与连接驱动器的位置无关,仅仅与驱动器是否已经挂载好并且对操作系统可见有关。

言归正传,让我们来试试这些工具。

df

df 命令是我第一个用于在 Linux 上查询驱动器空间的工具,时间可以追溯到 20 世纪 90 年代。它的使用和报告结果非常简单。直到今天,df 还是我执行此任务的首选命令。此命令有几个选项开关,对于基本的报告,你实际上只需要一个选项。该命令是 df -H-H 选项开关用于将 df 的报告结果以人类可读的格式进行显示。df -H 的输出包括:已经使用了的空间量、可用空间、空间使用的百分比,以及每个磁盘连接到系统的挂载点(图 1)。

df output

图 1:Elementary OS 系统上 df -H 命令的输出结果

如果你的驱动器列表非常长并且你只想查看单个驱动器上使用的空间,该怎么办?对于 df 这没问题。我们来看一下位于 /dev/sda1 的主驱动器已经使用了多少空间。为此,执行如下命令:

df -H /dev/sda1

输出将限于该驱动器(图 2)。

disk usage

图 2:一个单独驱动器空间情况

你还可以限制 df 命令结果报告中显示指定的字段。可用的字段包括:

  • source — 文件系统的来源(LCTT译注:通常为一个设备,如 /dev/sda1
  • size — 块总数
  • used — 驱动器已使用的空间
  • avail — 可以使用的剩余空间
  • pcent — 驱动器已经使用的空间占驱动器总空间的百分比
  • target —驱动器的挂载点

让我们显示所有驱动器的输出,仅显示 sizeusedavail 字段。对此的命令是:

df -H --output=size,used,avail

该命令的输出非常简单( 图 3 )。

output

图 3:显示我们驱动器的指定输出

这里唯一需要注意的是我们不知道该输出的来源,因此,我们要把 source 加入命令中:

df -H --output=source,size,used,avail

现在输出的信息更加全面有意义(图 4)。

source

图 4:我们现在知道了磁盘使用情况的来源

du

我们的下一个命令是 du 。 正如您所料,这代表 磁盘使用情况 disk usage du 命令与 df 命令完全不同,因为它报告目录而不是驱动器的空间使用情况。 因此,您需要知道要检查的目录的名称。 假设我的计算机上有一个包含虚拟机文件的目录。 那个目录是 /media/jack/HALEY/VIRTUALBOX 。 如果我想知道该特定目录使用了多少空间,我将运行如下命令:

du -h /media/jack/HALEY/VIRTUALBOX

上面命令的输出将显示目录中每个文件占用的空间(图 5)。

du command

图 5 在特定目录上运行 du 命令的输出

到目前为止,这个命令并没有那么有用。如果我们想知道特定目录的总使用量怎么办?幸运的是,du 可以处理这项任务。对于同一目录,命令将是:

du -sh /media/jack/HALEY/VIRTUALBOX/

现在我们知道了上述目录使用存储空间的总和(图 6)。

space used

图 6:我的虚拟机文件使用存储空间的总和是 559GB

您还可以使用此命令查看父项的所有子目录使用了多少空间,如下所示:

du -h /media/jack/HALEY

此命令的输出见(图 7),是一个用于查看各子目录占用的驱动器空间的好方法。

directories

图 7:子目录的存储空间使用情况

du 命令也是一个很好的工具,用于查看使用系统磁盘空间最多的目录列表。执行此任务的方法是将 du 命令的输出通过管道传递给另外两个命令:sorthead 。下面的命令用于找出驱动器上占用存储空间最大的前 10 个目录:

du -a /media/jack | sort -n -r |head -n 10

输出将以从大到小的顺序列出这些目录(图 8)。

top users

图 8:使用驱动器空间最多的 10 个目录

没有你想像的那么难

查看 Linux 系统上挂载的驱动器的空间使用情况非常简单。只要你将你的驱动器挂载在 Linux 系统上,使用 df 命令或 du 命令在报告必要信息方面都会非常出色。使用 df 命令,您可以快速查看磁盘上总的空间使用量,使用 du 命令,可以查看特定目录的空间使用情况。对于每一个 Linux 系统的管理员来说,这两个命令的结合使用是必须掌握的。

而且,如果你没有注意到,我最近介绍了查看 Linux 上内存使用情况的方法。总之,这些技巧将大力帮助你成功管理 Linux 服务器。

通过 Linux Foundation 和 edX 免费提供的 “Linux 简介” 课程,了解更多有关 Linux 的信息。


via: https://www.linux.com/learn/intro-to-linux/2018/6how-check-disk-space-linux-command-line

作者:Jack Wallen 选题:lujun9972 译者:SunWave 校对:wxy

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