发布于2026-08-21 阅读(0)
扫一扫,手机访问
最直接方式是运行mount命令并检查输出中是否含ro;有ro即只读,含rw且无ro即读写,需注意空格精准匹配挂载点以避免误判。

mount 命令看挂载点是否只读最直接的方式是运行 mount,它会列出所有已挂载文件系统及其选项。关键看输出里有没有 ro(read-only)——有就是只读,没出现 ro 且含 rw 就是可读写。
常见错误现象:明明 ls -l 显示目录有 w 权限,但 touch test.txt 却报 Read-only file system。这时问题不在文件权限,而在挂载选项。
mount | grep "/dev/sda1" —— 精准过滤某块设备的挂载状态mount | grep " /mnt/data " —— 注意空格,匹配挂载路径(前后加空格避免误匹配子串)(rw,relatime) 或 (rw,seclabel),说明是读写挂载;若为 (ro,errors=remount-ro),则确认只读lsblk -o NAME,MOUNTPOINT,FSTYPE,RO 快速扫全盘lsblk 的 -o RO 列相较于 mount 更为直观:若值为 1,则表明该块设备(或其分区)被标记为只读;若值为 0,则表示可写。需注意的是,这里的 RO 是内核层面的只读标志,它可能源于硬件开关、BIOS设置,亦或是在挂载时强制指定。
容易踩的坑:RO=0 不代表一定能写——比如文件系统损坏后,内核可能自动 remount 为 ro,此时 lsblk 仍显示 0,但 mount 输出已变成 ro。所以必须交叉验证。
lsblk -o NAME,MOUNTPOINT,FSTYPE,RO,SIZE —— 一次性看清设备、挂载点、类型、只读状态和容量NAME 可能是 nvme0n1p2,别漏掉末尾的 pX 分区号MOUNTPOINT 为空,说明该分区未挂载,RO 列无实际意义df -hT 不能直接判断读写权限df -hT能展示文件系统类型(像ext4、xfs等)以及使用率,可它**不会显示挂载选项**。同一块磁盘,既可以通过mount -o ro /dev/sdb1 /mnt进行只读挂载,也能够使用mount -o rw /dev/sdb1 /mnt来实现读写挂载——然而,df的输出却是完全相同的。
典型误判场景:运维同学看到 df 显示 /dev/sdb1 挂在 /data 下,就默认可写,结果应用写入失败。根源是忽略了挂载时加了 -o ro 或 defaults,ro。
df -hT /data 只告诉你挂在哪、什么类型、剩多少空间,不告诉你“能不能写”mount 或 findmnt(findmnt /data 更精准,直接查某路径)df 看到的是底层存储,但容器内挂载可能是 ro,需进容器再跑 mountcat /proc/mounts 和 findmnt 的适用差异/proc/mounts 是内核实时挂载表的原始 dump,字段多但不易读;findmnt 是封装好的工具,支持按路径、设备、类型过滤,更贴近日常排查习惯。
性能与兼容性影响:findmnt 在较新系统(util-linux ≥ 2.20)默认可用;老系统(如 CentOS 6)可能没有,得靠 grep + /proc/mounts。
findmnt -t ext4 —— 查所有 ext4 类型挂载点findmnt -D /dev/sdc1 —— 查该设备挂在哪(-D 匹配源设备)grep " /mnt/backup " /proc/mounts | awk '{print $4}' —— 提取挂载选项字段,人工检查是否含 roro,一切写操作都会失败。重点不是看谁有权限,而是看“这块磁盘此刻是不是被系统锁死了写入口”。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9