如何在 Linux 中检查磁盘是否已挂载

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何使用各种命令行工具来检查 Linux 系统中磁盘是否已挂载。首先,你将使用 df -h 命令列出已挂载的文件系统,并了解输出列的含义,如文件系统(Filesystem)、大小(Size)、已使用(Used)、可用(Avail)、使用率(Use%)和挂载点(Mounted on)。

接下来,你将查看 /proc/mounts 文件,以检查当前已挂载文件系统的详细信息。最后,你将使用 findmnt 命令,这是一个更现代、更通用的工具,用于验证挂载点并进一步了解系统的磁盘挂载情况。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") subgraph Lab Skills linux/ls -.-> lab-558707{{"如何在 Linux 中检查磁盘是否已挂载"}} linux/cat -.-> lab-558707{{"如何在 Linux 中检查磁盘是否已挂载"}} linux/find -.-> lab-558707{{"如何在 Linux 中检查磁盘是否已挂载"}} linux/df -.-> lab-558707{{"如何在 Linux 中检查磁盘是否已挂载"}} end

使用 df -h 列出已挂载的磁盘

在这一步中,你将学习如何使用 df 命令列出 Linux 系统上已挂载的文件系统。df 命令用于显示文件系统上可用的磁盘空间量。

文件系统是操作系统在硬盘或固态硬盘等存储设备上组织和管理文件的方式。当一个文件系统被“挂载”时,意味着它已连接到文件系统层次结构中的特定目录,从而可以访问其内容。

如果你还没有打开终端,请打开它。你可以通过点击桌面左侧的 Xfce Terminal 图标来完成。

现在,输入以下命令并按回车键:

df -h

让我们来分解一下这个命令:

  • df:这是命令本身,是“disk free”的缩写。
  • -h:此选项代表“human-readable”(人类可读)。它以 1024 的幂(例如,KiB、MiB、GiB)而不是字节来显示大小,这样更易于阅读。

你将看到类似如下的输出:

Filesystem      Size  Used Avail Use% Mounted on
overlay          <size>  <used>  <avail> <use%> /
tmpfs           <size>  <used>  <avail> <use%> /dev
tmpfs           <size>  <used>  <avail> <use%> /sys/fs/cgroup
/dev/sda1       <size>  <used>  <avail> <use%> /etc/hosts
shm             <size>  <used>  <avail> <use%> /dev/shm
tmpfs           <size>  <used>  <avail> <use%> /proc/asound
tmpfs           <size>  <used>  <avail> <use%> /proc/acpi
tmpfs           <size>  <used>  <avail> <use%> /proc/scsi
tmpfs           <size>  <used>  <avail> <use%> /sys/firmware

输出包含几个列:

  • Filesystem:文件系统的名称。
  • Size:文件系统的总大小。
  • Used:文件系统上已使用的空间量。
  • Avail:文件系统上可用的空间量。
  • Use%:已使用空间的百分比。
  • Mounted on:文件系统挂载的目录。

/(根目录)条目尤为重要,因为它代表了操作系统和文件所在的主文件系统。

了解已挂载的文件系统对于管理磁盘空间和解决存储问题至关重要。

点击 Continue 进入下一步。

查看 /proc/mounts 中的挂载点

在这一步中,你将探索 /proc/mounts 文件,该文件提供了当前已挂载文件系统的详细信息。

/proc 文件系统是 Linux 中的一个虚拟文件系统,它提供有关进程和其他系统信息。它并不包含磁盘上的真实文件,而是提供了一个查看内核数据结构的窗口。

/proc/mounts 文件专门列出了当前所有已挂载的文件系统及其挂载选项。这个文件动态反映了系统的当前状态。

要查看 /proc/mounts 的内容,你可以使用 cat 命令。cat 是一个命令行实用工具,用于读取文件内容并将其打印到标准输出(即你的终端)。

在终端中输入以下命令并按回车键:

cat /proc/mounts

你将看到类似如下的输出,可能会很长:

overlay / overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/...,upperdir=/var/lib/docker/overlay2/...,workdir=/var/lib/docker/overlay2/... 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,size=65536k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,relatime,size=10240k,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
...
/dev/sda1 /etc/hosts ext4 rw,relatime 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k 0 0
...

/proc/mounts 中的每一行代表一个已挂载的文件系统,包含以下字段(用空格分隔):

  1. 文件系统设备:文件系统的设备或源(例如,overlay/dev/sda1)。
  2. 挂载点:文件系统挂载的目录(例如,//proc)。
  3. 文件系统类型:文件系统的类型(例如,overlayprocext4)。
  4. 挂载选项:挂载文件系统时使用的选项(例如,rw 表示读写,ro 表示只读,relatime)。
  5. 转储频率:由 dump 命令使用(通常为 0)。
  6. 检查顺序:由 fsck 命令用于检查文件系统的完整性(通常为 0)。

比较 df -hcat /proc/mounts 的输出可以让你从不同角度了解已挂载的文件系统。df -h 侧重于磁盘使用情况,而 /proc/mounts 提供详细的挂载信息。

点击 Continue 进入下一步。

使用 findmnt 命令验证挂载情况

在这一步中,你将使用 findmnt 命令,它是另一个用于显示已挂载文件系统信息的强大工具。findmnt 通常被认为更用户友好,并且能以树形视图展示挂载点。

findmnt 命令会查询 /etc/fstab/etc/mtab/proc/self/mountinfo 文件。它可以以分层的方式显示挂载点,让你更容易理解不同文件系统之间的关系。

在终端中输入以下命令并按回车键:

findmnt

你将看到类似如下的输出:

TARGET        SOURCE     FSTYPE     OPTIONS
/             overlay    overlay    rw,relatime,...
|-/proc       proc       proc       rw,nosuid,nodev,noexec,relatime
| |-/proc/asound tmpfs      tmpfs      rw,nosuid,nodev,noexec,relatime,size=...
| |-/proc/acpi  tmpfs      tmpfs      rw,nosuid,nodev,noexec,relatime,size=...
| |-/proc/scsi  tmpfs      tmpfs      rw,nosuid,nodev,noexec,relatime,size=...
| `-/proc/kcore tmpfs      tmpfs      rw,nosuid,nodev,noexec,relatime,size=...
|-/sys        sysfs      sysfs      rw,nosuid,nodev,noexec,relatime
| `-/sys/fs/cgroup tmpfs      tmpfs      ro,nosuid,nodev,noexec,relatime,size=...
|   `-systemd cgroup     cgroup     rw,nosuid,nodev,noexec,relatime,xattr,...
|-/dev        tmpfs      tmpfs      rw,nosuid,size=...,mode=755
| |-/dev/pts  devpts     devpts     rw,nosuid,noexec,relatime,gid=...,mode=...
| `-/dev/shm  tmpfs      tmpfs      rw,nosuid,nodev,noexec,relatime,size=...
|-/etc/hosts  /dev/sda1  ext4       rw,relatime
`-...

输出以树形结构展示了挂载点。

  • TARGET:挂载点目录。
  • SOURCE:文件系统的设备或源。
  • FSTYPE:文件系统类型。
  • OPTIONS:挂载选项。

你还可以使用 findmnt 来检查特定的文件系统是否已挂载。例如,要检查根文件系统 (/) 是否已挂载,你可以使用:

findmnt /

如果根挂载点存在,这将显示其详细信息。

findmnt 命令提供了一种清晰且有条理的方式来查看系统的挂载点,这对系统管理和故障排除非常有帮助。

点击 Continue 完成本次实验。

总结

在本次实验中,你学习了如何使用各种命令行工具来检查 Linux 系统中磁盘是否已挂载。你首先使用 df -h 命令以人类可读的格式列出已挂载的文件系统及其磁盘使用情况,并理解了输出列,如 Filesystem、Size、Used、Avail、Use% 和 Mounted on。

你还探索了如何通过查看 /proc/mounts 文件的内容来检查挂载点,该文件提供了当前已挂载文件系统的详细信息。最后,你学习了使用 findmnt 命令来验证挂载情况,这是一个更现代、更通用的用于显示文件系统挂载信息的工具。