linux基本功系列之mount命令实战
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基本功系列之mount命令实战相关的知识,希望对你有一定的参考价值。
前言
大家好,又见面了,我是沐风晓月,本文主要介绍mount命令的使用,更多内容请关注我的主页,后续会持续更新
一. mount命令的介绍
linux操作系统是一个树状结构,所有的文件从上往下,最上面是/ , 所有的文件都是挂载在不同的设备上的。 而mount命令就是用于将设备进行挂载,umount是用于将设备进行卸载。
直接访问分区无法使用,所以我们利用一个目录和分区挂载起来,只需要登录目录,就等同于登录了分区。也就可以对分区进行操作了。
这里需要了解两个概念:
- 挂载 : 想要访问Linux中的根目录以外的文件,需要将它“关联”到根目录下的某一个目录来实现,这种关联操作就叫做“挂载”
- 挂载点: 在挂载的概念中,被关联的目录就是挂载点
“挂载点”的目录有3个要求: (1)可以用mkdir命令新建目录(目录事先存在)。 (2)挂载点目录不可被其他进程使用到。 (3)挂载点下原有文件被隐藏。
二. 语法格式及常用选项
依据惯例,我们还是先查看帮助,使用 mount --help
[root@mufenggrow ~]# mount --help
用法:
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]
选项:
-a, --all 挂载 fstab 中的所有文件系统
-c, --no-canonicalize 不对路径规范化
-f, --fake 空运行;跳过 mount(2) 系统调用
-F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)
-T, --fstab <路径> /etc/fstab 的替代文件
-h, --help 显示此帮助并退出
-i, --internal-only 不调用 mount.<类型> 助手程序
-l, --show-labels 列出所有带有指定标签的挂载
-n, --no-mtab 不写 /etc/mtab
-o, --options <列表> 挂载选项列表,以英文逗号分隔
-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)
-r, --read-only 以只读方式挂载文件系统(同 -o ro)
-t, --types <列表> 限制文件系统类型集合
--source <源> 指明源(路径、标签、uuid)
--target <目标> 指明挂载点
-v, --verbose 打印当前进行的操作
-V, --version 显示版本信息并退出
-w, --rw, --read-write 以读写方式挂载文件系统(默认)
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
源:
-L, --label <标签> 同 LABEL=<label>
-U, --uuid <uuid> 同 UUID=<uuid>
LABEL=<标签> 按文件系统标签指定设备
UUID=<uuid> 按文件系统 UUID 指定设备
PARTLABEL=<标签> 按分区标签指定设备
PARTUUID=<uuid> 按分区 UUID 指定设备
<设备> 按路径指定设备
<目录> 绑定挂载的挂载点(参阅 --bind/rbind)
<文件> 用于设置回环设备的常规文件
操作:
-B, --bind 挂载其他位置的子树(同 -o bind)
-M, --move 将子树移动到其他位置
-R, --rbind 挂载其他位置的子树及其包含的所有挂载
--make-shared 将子树标记为 共享
--make-slave 将子树标记为 从属
--make-private 将子树标记为 私有
--make-unbindable 将子树标记为 不可绑定
--make-rshared 递归地将整个子树标记为 共享
--make-rslave 递归地将整个子树标记为 从属
--make-rprivate 递归地将整个子树标记为 私有
--make-runbindable 递归地将整个子树标记为 不可绑定
参数超多,实际上我们有些是用不到的,这里来做一下汇总:
挂载语法格式:
命令格式:mount [-t vfstype] [-o options] device dir
参数 | 解释 |
---|---|
-r | 以只读的形式挂载 |
-L | 将含有特定标签的硬盘分割挂上 |
-t | 指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。 |
-a | 全部挂载,这个参数会读取/etc/fstab文件,然后将文件中的所有挂载操作执行一遍 |
-o | 要用来描述设备或档案的挂接方式 |
-w | 将文件系统安装为可写 |
这里重点说明一下 -t和-o参数
刚刚提到-t是指定档案的系统类型,一般有哪些类型呢?
类型 | 写法 |
---|---|
光盘或者镜像 | iso9660 |
文件网络共享 | nfs |
DOS fat16文件系统 | msdos |
auto | 自动检测文件系统 |
接下来我们看看-o参数后面跟的选项
- loop :用来把一个文件当成硬盘分区挂接上系统
- ro :采用只读方式挂接设备
- rw :采用读写方式挂接设备
- iocharset :指定访问文件系统所用字符集,例如iocharset=utf8
- remount :重新挂载
三. 参考案例
3.1 将iso镜像挂载到/mnt上
在vmware虚拟机上我们经常用mount命令挂载分区,比如将iso镜像挂载到/mnt上
[root@mufenggrow ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
挂载完成后,我们可以进行查看:
3.2 把某个分区挂载到/sdb1上
有时候我们新加了一块分区,需要把/dev/sdb1分区挂载到/sdb1上,这时候要先创建./sdb1 。 并且要先把/dev/sdb1分区进行格式化然后才能挂载:
[root@mufenggrow ~]# mount /dev/sdb1 /sdb1
3.3 用只读的形式把/dev/sdb2挂载到/sdb2上
这里和刚才3.2的挂载方式一样,只要涉及到只读的形式,所以需要使用 -o 参数来指定只读的模式 也就是ro模式
[root@mufenggrow ~]# mount -o ro /dev/sdb2 /sdb2
3.4 设置自动挂载
想要设置自动挂载,我们只需要在配置文件写好配置,然后执行mount -a即可
比如: 要把iso镜像设置为自动挂载。
vim /etc/fstab
在配置文件中写入内容:
/dev/sr0 /mnt iso9660 defaults,ro,loop 0 0
然后保存退出,之后重新启动,或者使用mount -a进行测试,若测试完发现自动挂载了即可。
有时候会出现提示 type错误,这时候一般是镜像文件的格式不对,有可能不是默认的iso9660的格式,需要手动挂载后查看是什么类型。
df -T命令可以查看文件类型:
以前我们还用这个命令来挂载移动硬盘,U盘等,现在已经很少有这些操作了。
四. umount命令
卸载分区需要使用命令umount :
参数 | 解释 |
---|---|
-a | 卸除/etc/mtab中记录的所有文件系统; |
-h | 显示帮助; |
-n | 卸除时不要将信息存入/etc/mtab文件中; |
-r | 若无法成功卸除,则尝试以只读的方式重新挂入文件系统; |
-t | <文件系统类型>:仅卸除选项中所指定的文件系统; |
-v | 执行时显示详细的信息; -V:显示版本信息。 |
常见用法:
umount -v /dev/sda1 通过设备名卸载 umount -v /mnt/mymount/ 通过挂载点卸载 umount -vl /mnt/mymount/ 延迟卸载
要注意的是: 在卸载分区的时候一定不能登陆分区卸载,否则会提示busy
这时候只要退出/mnt即可。
总结
mount 命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。
以上是关于linux基本功系列之mount命令实战的主要内容,如果未能解决你的问题,请参考以下文章