当前位置: 首页 > news >正文

linux基本功系列之mount命令实战

在这里插入图片描述

文章目录

  • 前言
  • 一. mount命令的介绍
  • 二. 语法格式及常用选项
  • 三. 参考案例
    • 3.1 将iso镜像挂载到/mnt上
    • 3.2 把某个分区挂载到/sdb1上
    • 3.3 用只读的形式把/dev/sdb2挂载到/sdb2上
    • 3.4 设置自动挂载
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第50篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. 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 命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

  • 💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
  • 💕 博客主页:mufeng.blog.csdn.net
  • 💕 本文由沐风晓月原创,首发于CSDN博客
  • 💕 曾国藩说: 一书未完,不读其他

请添加图片描述
在这里插入图片描述

http://www.lryc.cn/news/22852.html

相关文章:

  • 力扣Top100题之两数相加(Java解法)
  • 【测试】Python手机自动化测试库uiautomator2和weditor的详细使用
  • 《NFL橄榄球》:旧金山49人·橄榄1号位
  • spark为什么比hadoop快
  • 跨境人都在用的指纹浏览器到底有什么魔力?三分钟带你了解透彻
  • 机器学习概述
  • 企业网站自动生成系统的设计和实现
  • sikuli+eclipse对于安卓app自动化测试的应用
  • react源码分析:babel如何解析jsx
  • 搜广推 WideDeep 与 DeepCrossNetwork (DCN) - 记忆+泛化共存
  • 项目管理工具dhtmlxGantt甘特图入门教程(十四):导出/导入 Excel到 iCal
  • k-means聚类总结
  • char * 和const char *的区别
  • 【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找
  • 数据采集 - 笔记
  • 8年测开经验面试28K公司后,吐血整理出高频面试题和答案
  • spring读取properties顺序,重复key问题
  • 什么是api接口?(基本介绍)
  • 【2023全网最全教程】从0到1开发自动化测试框架(建议收藏)
  • 3-5天炒股短线战法指标思想结合----超级短线源码无未来
  • 原始GAN-pytorch-生成MNIST数据集(代码)
  • 注意,这些地区已发布2023年上半年软考报名时间
  • Html引入外部css <link>标签 @import
  • React源码分析8-状态更新的优先级机制
  • 如何在ChatGPT的API中支持多轮对话
  • 华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)
  • Containerd容器运行时将会替换Docker?
  • java虚拟机中对象创建过程
  • 3485. 最大异或和
  • SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)