一天一个 Linux 命令(32):umount命令

本文详细介绍了Linux下的umount命令,用于卸载已挂载的文件系统。内容包括umount的基本使用格式、选项说明以及常见操作,如强制卸载、懒卸载等。umount命令可以按设备名或挂载点来执行,并提供了如-a选项卸载所有文件系统、-f强制卸载、-l懒卸载等实用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(32):umount命令 - joshua317的博客

一天一个 Linux 命令(32):umount命令

Linux下的umount命令用于卸除文件系统。umount可卸除目前挂在Linux目录中的文件系统。mount是挂载,整好相反。

二、格式说明

umount [-hV]
umount -a [options]
umount [options] <source> | <directory>
umount [参数] [文件系统]


Usage:
 umount [-hV]
 umount -a [options]
 umount [options] <source> | <directory>

Options:
 -a, --all               unmount all filesystems
 -A, --all-targets       unmount all mountpoins for the given device
                         in the current namespace
 -c, --no-canonicalize   don't canonicalize paths
 -d, --detach-loop       if mounted loop device, also free this loop device
     --fake              dry run; skip the umount(2) syscall
 -f, --force             force unmount (in case of an unreachable NFS system)
 -i, --internal-only     don't call the umount.<type> helpers
 -n, --no-mtab           don't write to /etc/mtab
 -l, --lazy              detach the filesystem now, and cleanup all later
 -O, --test-opts <list>  limit the set of filesystems (use with -a)
 -R, --recursive         recursively unmount a target with all its children
 -r, --read-only         In case unmounting fails, try to remount read-only
 -t, --types <list>      limit the set of filesystem types
 -v, --verbose           say what is being done

 -h, --help     display this help and exit
 -V, --version  output version information and exit

三、选项说明

-a	卸载/etc/mtab中记录的所有文件系统
-f  强制卸载(比如在无法访问NFS系统的情况下)
-h	显示帮助
-n	卸载时不要将信息存入/etc/mtab文件中
-l  分离文件系统,稍后进行清除
-r	若无法成功卸载,则尝试以只读的方式重新挂入文件系统
-t	文件系统类型:仅卸载选项中所指定的文件系统
-v	执行时显示详细的信息
-V	显示版本信息

四、命令功能

卸除目前挂在Linux目录中的文件系统。

五、常见用法

5.1 分别通过设备名和挂载点卸载文件系统,同时输出详细信息

#通过设备名卸载  
# umount -v /dev/vda1
/dev/vda1 umounted  

#通过挂载点卸载
# umount -v /data     
/data umounted

#如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录
#umount -v /data 
#umount: /data: device is busy  

#当有别的程序正在访问挂载的文件时,也会提示卸载失败,通过 lsof  /data  查看是哪个进程占用了/data,使用kill -9 $pid,然后再卸载

5.2 卸载前检查占用该挂载文件的程序并迅速kill掉

#umount -l /data

说明:-l : 卸载前检查占用该挂载文件的程序并迅速kill掉,以达到快速卸载的目的

5.3 强制卸载

umount -lf /data

本文为joshua317原创文章,转载请注明:转载自joshua317博客 一天一个 Linux 命令(32):umount命令 - joshua317的博客

### 对 `umount` 命令及其是否会覆盖挂载目录中原文件的解析 在 Linux 中,`umount` 是用于卸载已挂载文件系统的命令。它并不会对挂载点中的原始文件造成任何更改或覆盖。以下是对此行为的具体解释: -一个文件系统被挂载到某个目录时,该目录下的原有内容会被暂时隐藏[^2]。这并不意味着这些文件被删除或修改,而只是因为挂载操作使得它们不可访问。 - 在执行 `umount` 命令后,挂载的操作会被移除,原本隐藏的文件和目录会重新变得可见,并且其内容保持不变[^3]。 #### 实际案例分析 假设有一个名为 `/mnt/example` 的目录,在其中有一些文件。如果我们将另一个文件系统(比如来自 `/dev/sdc1`)挂载到这个目录上,则 `/mnt/example` 下面原有的文件将无法直接看到,直到我们使用 `umount /mnt/example` 解除挂载为止。在此之后,所有的原始文件都将恢复如初[^5]。 另外值得注意的是,虽然挂载与卸载的过程不会改变挂载点内部的数据状态,但如果在挂载状态下向同一路径写入新资料,则那些变动只会反映在实际被挂载的那个外部存储介质之上,而不是本地机器上的对应位置[^4]。 ```bash # 创建测试环境 mkdir -p /tmp/test_original /tmp/test_mountpoint touch /tmp/test_original/original_file.txt echo "This is an original file." > /tmp/test_original/original_file.txt # 模拟挂载另一文件系统至目标点 mount --bind /some_other_fs /tmp/test_mountpoint/ # 查看当前状况 ls /tmp/test_mountpoint/ # 此刻应该看不到original_file.txt # 卸载刚才绑定的文件系统 umount /tmp/test_mountpoint/ # 验证原文件是否存在且未受影响 cat /tmp/test_original/original_file.txt # 输出应为"This is an original file." ``` 上述脚本展示了如何验证即使经过多次挂载与卸载循环,源目录里的文档依旧维持最初模样不受干扰的事实。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值