You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

umount
===
用于卸载已经加载的文件系统
## 补充说明
**umount命令** 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统不过最好还是通过挂载点卸载以免使用绑定挂载一个设备多个挂载点时产生混乱。
### 语法
```
umount(选项)(参数)
```
### 选项
```
-a卸除/etc/mtab中记录的所有文件系统
-h显示帮助
-n卸除时不要将信息存入/etc/mtab文件中
-r若无法成功卸除则尝试以只读的方式重新挂入文件系统
-t<文件系统类型>:仅卸除选项中所指定的文件系统;
-v执行时显示详细的信息
-V显示版本信息。
```
### 参数
文件系统:指定要卸载的文件系统或者其对应的设备文件名。
### 实例
下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:
通过设备名卸载
```
umount -v /dev/sda1
/dev/sda1 umounted
```
通过挂载点卸载
```
umount -v /mnt/mymount/
/tmp/diskboot.img umounted
```
如果设备正忙卸载即告失败。卸载失败的常见原因是某个打开的shell当前目录为挂载点里的某个目录
```
umount -v /mnt/mymount/
umount: /mnt/mymount: device is busy
umount: /mnt/mymount: device is busy
```
有时导致设备忙的原因并不好找。碰到这种情况时可以用lsof列出已打开文件然后搜索列表查找待卸载的挂载点
```
lsof | grep mymount 查找mymount分区里打开的文件
bash 9341 francois cwd DIR 8,1 1024 2 /mnt/mymount
```
从上面的输出可知mymount分区无法卸载的原因在于francois运行的PID为9341的bash进程。
对付系统文件正忙的另一种方法是执行延迟卸载:
```
umount -vl /mnt/mymount/ 执行延迟卸载
```
延迟卸载lazy unmount会立即卸载目录树里的文件系统等到设备不再繁忙时才清理所有相关资源。卸载可移动存储介质还可以用eject命令。下面这条命令会卸载cd并弹出CD
```
eject /dev/cdrom 卸载并弹出CD
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->