CentOS如何查看所有磁盘mount挂载点与使用情况?

在Linux系统中,尤其是像CentOS这样的企业级发行版,文件系统的管理是系统管理员的核心职责之一。“挂载”是将一个存储设备(如硬盘分区、光盘、U盘或网络共享)连接到系统目录树中的一个指定点(挂载点)的过程,使其内容可以被访问,有效地查看和管理挂载信息至关重要,本文将深入探讨在CentOS中查看挂载信息的多种方法,从基础命令到高级技巧,旨在为不同水平的用户提供一份全面而清晰的指南。

CentOS如何查看所有磁盘mount挂载点与使用情况?

使用 mount 命令:最直接的查看方式

mount 命令是Linux中用于挂载文件系统的基本工具,但如果不带任何参数直接执行,它会列出当前系统中所有已挂载的文件系统,这是最传统、最直接的查看方法。

执行 mount 命令后,你会看到类似以下的输出:

/dev/sda1 on / type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=8113948k,nr_inodes=2028487,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
...

每一行输出都包含关键信息,其格式通常为:设备文件 on 挂载点 type 文件系统类型 (挂载选项)

  • 设备文件:如 /dev/sda1,代表物理磁盘的第一个分区。
  • 挂载点:如 ,这是根目录,表示该分区是系统的根文件系统。
  • 文件系统类型:如 xfsext4procsysfs 等。
  • 挂载选项:括号内的内容,如 rw (读写)、ro (只读)、noexec (不允许执行程序) 等,定义了文件系统的访问权限和行为。

为了使输出更具可读性,可以使用 -l 选项来显示卷标:

mount -l

你还可以使用 -t 选项来筛选特定类型的文件系统,只查看 ext4 类型的挂载:

mount -t ext4

使用 df 命令:关注磁盘使用情况

df(disk free)命令主要用于报告文件系统的磁盘空间使用情况,但它同样会列出所有已挂载的文件系统及其挂载点,这使得它成为查看挂载信息的另一个常用工具。

直接运行 df 会显示以1K为单位的块大小,对普通用户来说不够直观。-h(human-readable)选项几乎是必用的:

df -h

输出结果会非常清晰:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G  3.5G   47G   7% /
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  9.0M  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sdb1       100G   20G   80G  20% /data

这里的列信息非常丰富:

  • Filesystem:文件系统或设备。
  • Size:总大小。
  • Used:已使用空间。
  • Avail:可用空间。
  • Use%:使用百分比。
  • Mounted on:挂载点。

如果你想在 df 的输出中同时看到文件系统类型,可以结合 -T 选项:

df -hT

使用 findmnt:现代化且功能强大的工具

findmnt 是一个较新的工具,来自 util-linux 包,它提供了一个更清晰、更灵活的方式来查看挂载信息,它的默认输出通常是一个树状结构,能直观地展示挂载点的层级关系。

CentOS如何查看所有磁盘mount挂载点与使用情况?

findmnt

输出示例:

TARGET                                SOURCE                 FSTYPE     OPTIONS
/                                     /dev/sda1              xfs        rw,relatime
├─/sys                                sysfs                  sysfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security              securityfs             securityfs rw,nosuid,nodev,noexec,relatime
│ └─/sys/fs/cgroup                    tmpfs                  tmpfs      rw,nosuid,nodev,noexec,mode=755
│   ├─/sys/fs/cgroup/...              cgroup                 cgroup     rw,nosuid,nodev,noexec,relatime,xxx
├─/proc                               proc                   proc       rw,nosuid,nodev,noexec,relatime
├─/dev                                devtmpfs               devtmpfs   rw,nosuid,size=8113948k,nr_inodes=2028487,mode=755
│ └─/dev/pts                          devpts                 devpts     rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
├─/dev/shm                            tmpfs                  tmpfs      rw,nosuid,nodev
├─/run                                tmpfs                  tmpfs      rw,nosuid,nodev,mode=755
└─/data                               /dev/sdb1              xfs        rw,relatime

findmnt 的强大之处在于其丰富的选项:

  • -l--list:以列表形式输出,类似于 mountdf,便于脚本处理。
  • -t <类型>--types <类型>:按文件系统类型筛选。
  • -S <源>--source <源>:按设备源筛选,findmnt -S /dev/sdb1
  • -T <目标>--target <目标>:按挂载点筛选,findmnt -T /data

查看系统配置文件

除了动态命令,还可以通过查看系统文件来获取挂载信息。


  1. 这是一个虚拟文件,它直接反映了内核中当前挂载的文件系统视图,它的内容与 mount 命令的输出非常相似,但格式更为统一,适合被程序解析。

    cat /proc/mounts
  2. /etc/fstab
    这个文件定义了系统在启动时需要自动挂载的文件系统,查看此文件可以了解哪些设备被配置为永久挂载。

    cat /etc/fstab

    一个典型的 fstab 条目包含六个字段:
    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data xfs defaults 0 0

    • 设备:可以用设备名(/dev/sdb1)、UUID或LABEL,推荐使用UUID,因为它在设备插拔顺序改变时保持不变。
    • 挂载点:设备要挂载到的目录。
    • 文件系统类型:如 xfs, ext4, nfs
    • 挂载选项defaults 是一个常用选项组合,包含了 rw, suid, dev, exec, auto, nouser, async
    • dump:用于 dump 备份工具,通常设为 0
    • pass:用于开机时检查文件系统的顺序,根目录通常为 1,其他为 2,不需要检查的为 0

为了更直观地选择合适的工具,下表对上述方法进行了小编总结:

方法 主要用途 关键特性 典型场景
mount 查看所有当前挂载 经典、详细、信息全面 快速获取所有挂载点和选项的原始信息
df -h 查看磁盘空间使用 直观、人类可读格式 检查哪个分区空间不足,同时确认挂载点
findmnt 查看和搜索挂载 现代、输出灵活(树状/列表)、易于筛选 编写脚本、精确查找特定挂载信息、分析挂载层级
/proc/mounts 获取内核挂载视图 实时、格式统一、程序友好 被其他程序或脚本解析挂载状态
/etc/fstab 查看静态挂载配置 定义开机自动挂载 配置新的永久挂载、排查启动挂载问题

相关问答FAQs

问题1:我刚刚插入了一个新的U盘,如何手动将它挂载到 /mnt/usb 目录?

解答:
手动挂载一个设备通常需要以下步骤:

  1. 识别设备:使用 lsblkfdisk -l 命令来找到U盘的设备名,通常是 /dev/sdb/dev/sdc 等,假设你识别到U盘的分区是 /dev/sdb1

    lsblk
  2. 创建挂载点:挂载点必须是一个已经存在的空目录。/mnt/usb 不存在,需要先创建它。

    CentOS如何查看所有磁盘mount挂载点与使用情况?

    sudo mkdir -p /mnt/usb
  3. 执行挂载:使用 mount 命令进行挂载,你需要指定设备文件、挂载点,以及文件系统类型(如果不确定,可以尝试让系统自动检测)。

    # 假设U盘是vfat格式(常见于Windows格式化的U盘)
    sudo mount /dev/sdb1 /mnt/usb -t vfat
    # 或者让系统自动检测
    sudo mount /dev/sdb1 /mnt/usb
  4. 验证挂载:使用 df -hTfindmnt 检查挂载是否成功。

    df -hT | grep sdb1

    使用完毕后,需要安全卸载:

    sudo umount /mnt/usb

问题2:为什么有时候 df -hlsblk 显示的磁盘大小不一致?

解答:
dflsblk 显示的磁盘大小不一致,通常是因为它们衡量的对象和计算方式不同,这背后有几个可能的原因:

  1. 衡量对象不同

    • lsblkfdisk -l 显示的是磁盘或分区的原始总大小,这是物理存储介质的总容量。
    • df 显示的是文件系统可用的空间大小,文件系统在创建时,会预留一部分空间给 root 用户(或系统)用于紧急情况或维护(如磁盘碎片整理),防止普通用户占满空间导致系统崩溃,这部分空间 df 不会计入普通用户的“可用空间”。
  2. 文件系统开销:文件系统本身需要空间来存储元数据,如inode表、超级块、日志等,这部分开销在 lsblk 看来属于分区总大小的一部分,但在 df 看来,它已经被“使用”了。

  3. 2的幂次 vs 10的幂次:虽然 df -h 使用了人类可读的单位(G, M),但历史上操作系统使用2的幂次(1GiB = 2^30 Bytes)来计算,而硬盘厂商通常使用10的幂次(1GB = 10^9 Bytes)来标注容量,这会导致理论上的微小差异,但通常不是主要原因。

小编总结来说lsblk 告诉你“硬盘有多大”,而 df 告诉你“文件系统上还剩多少空间可以给你用”。df 的数字通常会比 lsblk 显示的分区大小略小,这是完全正常的。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-08 11:55
下一篇 2025-10-08 11:58

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信