如何使用命令行检查 Linux 上的磁盘空间

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

作者: Jack Wallen

译者: SunWave

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)。

       

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

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

df -H /dev/sda1

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

       

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

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

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

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

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

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

       

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

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

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

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

du

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

du -h /media/jack/HALEY/VIRTUALBOX

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

       

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

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

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

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

       

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

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

du -h /media/jack/HALEY

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

       

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

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

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

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

       

图 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中国 荣誉推出

点击“了解更多”可访问文内链接

(0)

相关推荐

  • 如何使用命令行在Linux中查找文件和文件夹

    大多数人使用图形文件管理器在Linux中查找文件,例如Gnome中的Nautilus,KDE中的Dolphin和Xfce中的Thunar.但是,无论您使用什么桌面管理器,都有几种使用命令行在Linux ...

  • Linux找回丢失磁盘空间的方法

    Linux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么是什么程序占用了磁盘空间?下面小编就给大家介绍下Linux找回丢失磁盘空间的方法. 经常接触lin ...

  • 如何释放MacBook上的磁盘空间来提升运行速度

    您可以通过删除不不需要的文件和应用程序来释放相当多的磁盘空间,但这只会让您暂时多一些空间. 要真正释放Mac硬盘上的磁盘空间,您将需要更深入地查看,例如清除不使用的语言文件,删除重复的文件,删除附件和 ...

  • VMware 虚拟机(linux)增加根目录磁盘空间的方法

    一、关闭你的虚拟机系统,找到如下内容:选择"Edit Virtual mache settings” 点击"Expand“ 扩大虚拟机的空间为"40G"(根据个人需要填写空间大小)。但是linux下面 ...

  • linux系统查看磁盘空间

    一、df 命令; df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置; 举例: [root@localhost beinan ...

  • linux怎么查看磁盘空间

    一.df 命令; df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置; 举例: [root@localhost beinan ...

  • linux下查看磁盘空间

    如果要查看磁盘还剩多少空间,当然是用df的命令了。 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 14G 11G 2.6G 82% ...

  • 如何在 Linux 命令行中使用和执行 PHP 代码

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  • 如何配置Linux命令行的字体和背景颜色

    我们使用Linux的时候,经常需要使用命令行.Linux命令行的背景默认是白色的,字体默认是黑色,14像素的.那么我们如何根据自己的喜好配置Linux命令行的字体和背景颜色呢?下面小编给大家分享一下. ...

  • wget 命令行下载工具使用方法详解

    wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。 它有以下功能和特点: win环境下的wget.exe 下载: wge ...