linux基本功系列之mount命令实战(代码片段)

author author     2023-02-28     358

关键词:

前言

大家好,又见面了,我是沐风晓月,本文主要介绍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基本功系列之touch命令实战(代码片段)

    (文章目录)前言平时在linux操作系统中创建文件,我们都用touch命令,touch命令算的上最常用命令之一了吧,经常有人说,企业常用150个命令,现在学习到第5个,距离150个还有145的距离。冲!:smile:一、touch命令的参数1.1touch命令的... 查看详情

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

    前言 查看详情

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

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

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

    ...言大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第47篇文章。专栏地址:[[linux基本功-基础命令专栏]],此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小... 查看详情

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

    ...言大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第43篇文章。专栏地址:[linux基本功-基础命令专栏],此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙... 查看详情

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

    前言大家好,又见面了,我是沐风晓月,本文是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴 查看详情

    linux基本功系列之more命令实战(代码片段)

    (文章目录)前言又要开始学习新的命令了,有没有一点点兴奋,先整个名人名言我们就开始:算了,我们还是直接进入正题把,今天一起来聊聊:more这个命令,越学越觉的很多命令的参数都很相似有没有。`一、more命令的介绍less... 查看详情

    linux基本功系列之ping命令实战(代码片段)

    ...总结前言🚀🚀🚀想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心ÿ... 查看详情

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

    前言cat(全称concatenate)命令是Linux/类Unix操作系统中最常用的命令之一。1、cat命令的介绍cat命令来自于英文单词concatenate的缩写,其功能是用于查看文件内容。在Linux系统中有很多用于查看文件内容的命令,例如more、tail、head……... 查看详情

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

    前言linux常用命令之文件管理命令,目前已经进行到第10个,今天我们一起来看看mv命令。日常工作中,我们把文件移走或者改名都是用的mv命令1、MV命令的介绍mv命令来自于英文单词move的缩写,其功能与英文含义相同,用于对文... 查看详情

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

    前言tail命令和head命令一样,使用比较频繁,尤其是在调试日志的时候用的比较多。接下来我们一起探讨下tail命令的使用1.tail命令的介绍tail命令的功能是用于查看文件尾部内容,例如默认会在终端界面上显示出指定文件的末尾... 查看详情

    linux之基本命令学习总结(代码片段)

            前言:从今天开始开始写这系列linux博客了(是学习刘遄老师的<linux就该这么学>),视频学习的资源可以在b站上找到:https://www.bilibili.com/video/av45771723?from=search&seid=16246736897428574633,同 查看详情

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

    前言head命令,输入文件管理命令之一,也是日常使用最频繁的命令之一。今天一起来探讨下head命令的使用1.命令介绍head命令的功能,主要是显示文本文档的开头内容,不加参数的时候默认显示前10行。2.常用参数-q或--quiet或--sile... 查看详情

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

    1、more命令的介绍lessismore,少即是多,不追求速成,一点点学习,一点点成长,一起加油。linux系统中的more命令和cat命令差不多,都是来查看文件内容,但cat命令是整个文件内容一股脑的出现在屏幕上。对于短文本还好,长文本... 查看详情

    linux基本功系列之top命令(代码片段)

    一.top命令介绍top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。我们常常会把top命令比作是“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息以外,还能够对处理... 查看详情

    linux系统基本功之find命令实战

    前言 查看详情

    ⭐️《linux系列》⭐️linux命令之screen命令(代码片段)

    Screen命令❤️前言❤️⭐️Screen命令⭐️1、安装Screen命令2、开启2个窗口3、A窗口寻求B帮助4、退出控制❄️写在最后❄️❤️前言❤️如果你使用Linux遇到一个问题,想要邀请别人来进行远程控制解决,我们一般可以通... 查看详情

    ⭐️《linux系列》⭐️linux命令之screen命令(代码片段)

    Screen命令❤️前言❤️⭐️Screen命令⭐️1、安装Screen命令2、开启2个窗口3、A窗口寻求B帮助4、退出控制❄️写在最后❄️❤️前言❤️如果你使用Linux遇到一个问题,想要邀请别人来进行远程控制解决,我们一般可以通... 查看详情