UNPKG

2.2 kBMarkdownView Raw
1umount
2===
3
4用于卸载已经加载的文件系统
5
6## 补充说明
7
8**umount命令** 用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。
9
10### 语法
11
12```shell
13umount(选项)(参数)
14```
15
16### 选项
17
18```shell
19-a:卸除/etc/mtab中记录的所有文件系统;
20-h:显示帮助;
21-n:卸除时不要将信息存入/etc/mtab文件中;
22-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;
23-t<文件系统类型>:仅卸除选项中所指定的文件系统;
24-v:执行时显示详细的信息;
25-V:显示版本信息。
26```
27
28### 参数
29
30文件系统:指定要卸载的文件系统或者其对应的设备文件名。
31
32### 实例
33
34下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:
35
36通过设备名卸载
37
38```shell
39umount -v /dev/sda1
40/dev/sda1 umounted
41```
42
43通过挂载点卸载
44
45```shell
46umount -v /mnt/mymount/
47/tmp/diskboot.img umounted
48```
49
50如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:
51
52```shell
53umount -v /mnt/mymount/
54umount: /mnt/mymount: device is busy
55umount: /mnt/mymount: device is busy
56```
57
58有时,导致设备忙的原因并不好找。碰到这种情况时,可以用lsof列出已打开文件,然后搜索列表查找待卸载的挂载点:
59
60```shell
61lsof | grep mymount 查找mymount分区里打开的文件
62bash 9341 francois cwd DIR 8,1 1024 2 /mnt/mymount
63```
64
65从上面的输出可知,mymount分区无法卸载的原因在于,francois运行的PID为9341的bash进程。
66
67对付系统文件正忙的另一种方法是执行延迟卸载:
68
69```shell
70umount -vl /mnt/mymount/ 执行延迟卸载
71```
72
73延迟卸载(lazy unmount)会立即卸载目录树里的文件系统,等到设备不再繁忙时才清理所有相关资源。卸载可移动存储介质还可以用eject命令。下面这条命令会卸载cd并弹出CD:
74
75```shell
76eject /dev/cdrom 卸载并弹出CD
77```
78
79