提示:关于Linux系统中光盘的挂载,我们了解一下即可,现在已经很少用到了。但是我们可以通过在Linux系统中挂载光盘,来加深对Linux系统中挂载操作的学习。

光盘挂载的前提依然是指定光盘的设备文件名,不同版本的Linux,设备文件名并不相同:

  • CentOS5.x以前的系统,光盘设备文件名是/dev/hdc
  • CentOS6.x以后的系统,光盘设备文件名是/dev/sr0

不论哪个系统都有软连接/dev/cdrom,与可以作为光盘的设备文件名。

如下图所示:

可以看到/dev/cdrom就是/dev/sr0的软链接(相当于Windows系统的快捷方式)。推荐使用源文件dev/sr0

Linux系统下在根目录中默认给我们提供了三个空文件夹:

  • media(推荐挂光盘)
  • misc(推荐挂网络存储盘)
  • mnt(推荐挂U盘或者移动硬盘)

我习惯在mnt文件夹中创建空目录来进行挂载外部设备。下面总结一下挂载光盘的步骤。

步骤一:创建一个空目录

mnt文件夹中创建一个名称为cdrom空目录

[root@localhost /]# mkdir /mnt/cdrom

不建议在根目录创建过多的一级目录,不方便管理。

步骤二:找到光盘的设备文件名称

CentOS6.x以后的系统,光盘设备文件名是/dev/sr0,这是固定的,记住就可以。

CentOS5.x以前的系统,光盘设备文件名是/dev/hdc,因为很早以前的系统,硬盘和光盘系统是统一命名的,在很早以前认为系统有两块硬盘就够了hdahdb,然后光盘默认识别就是hdc。但是对存储空间的需求越来越大,导致两块盘不能满足需求了,就需要继续添加新的硬盘,这个时候光盘的设备文件名的识别会自动向后便变动,如有三块硬盘,光盘的设备文件名hdd

这个时候就会导致,光盘的设备文件就不是固定的了,会导致我在一台电脑上挂载光盘,就先要查询光盘的设备文件名是什么,然后在进行挂载。所以在CentOS6.x以后的系统,光盘的设备文件名就固定了为sr0,第一台光驱的设备文件名为sr0,第二台光驱的设备文件名为sr1,以此类推。这样做的好处是和硬盘的设备文件名就不相干了。

步骤三:挂载光盘

[root@localhost ~]# mount -t iso9660 /dev/sr0 /mnt/cdrom/

# 注意:
# -t文件系统:加入文件系统类型来指定挂载的类型,
# 可以ext3、ext4、iso9660等文件系统。
# 挂载光盘就用iso9660类型的文件系统类型。
# 也可以直接省略-t iso9660,
# 挂载光盘时候系统自动添加。 [root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

执行上边命令会报错,说你必须指定文件系统。如下:

[root@localhost /]# mount /dev/sr0 /mnt/cdrom/
mount: you must specify the filesystem type

我们添加上文件系统,再次执行。如下:

[root@localhost /]# mount -t iso9660  /dev/sr0 /mnt/cdrom/
mount: no medium found on /dev/sr0

这回的报错信息就准确了,告诉我们说在/dev/sr0中没有发现光盘。

需要在虚拟机软件中添加cd文件,放入光驱中。

如下图:

再次输入光盘挂载命令。

[root@localhost /]# mount /dev/sr0 /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only

还有一行报错,说/dev/sr0想要读写权限,但是现在被赋予了只读权限。因为光盘的使用就是一次性写入,之后就只读就可以了。所以这行报错,可以认为是光盘正确挂载的标记。

最后执行mount命令在确认一下。

步骤四:访问关盘中的数据

需要去挂载点中访问光盘的数据,在/mnt/cdrom/目录中。

这里边都是光盘中的内容。

步骤五:卸载挂载点

无论是挂载的光盘还是U盘,用完后就需要卸载掉。如果你没有卸载就换cd的话,就会出现问题。这是有一定几率的,如果你不卸载,多换几次cd的话,你会发现你无论放入任何光盘,你读出来的数据都不是你放入的cd中的数据。而是虚拟机自带的工具vmtools中的内容。之后你即使卸载的光盘,也不在好使了。

这个时候的解决方法是,在虚拟机中把现有的光驱移除,在添加一个新的光驱。

如下图:

卸载挂载点

# 因为设备文件名和挂载点已经连接到一起,卸载哪一个都可以
[root@localhost ~]# umount /dev/sr0
[root@localhost ~]# umount /mnt/cdrom
# 卸载
[root@localhost cdrom]# umount /dev/sr0
umount:/mnt/cdrom: device is busy.
(In some cases useful info about processes that use the device is found by 1sof(8) or fuser(1)) # 上边报错说设备正忙,以为此时位置正在光盘里边cdrom目录中,要退出在进行卸载。
# 注意:卸载的时候需要退出光盘目录,才能正常卸载。

问题:挂载点为什么要使用空目录

# 在/mnt/cdrom目录中创建两个文件abc,bcd
[root@localhost cdrom]# ls
abc bcd # 在/mnt/cdrom目录上挂载光盘
[root@localhost cdrom] # mount /dev/sr0 /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
# 可以看到看到光盘是可以挂载到有文件的目录上。 # 查看/mnt/cdrom目录中的文件
[root@localhost cdrom]# ls /mnt/cdrom/
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
# 文件夹中并没有之前的abc,bcd文件了。而只有光盘中的数据。 # 把光盘挂载点卸载了
[root@localhost cdrom]# umount /dev/sr0 # 再次查看/mnt/cdrom目录中的文件
[root@localhost cdrom]# ls /mnt/cdrom/
abc bcd
# 发现abc,bcd文件又出现了。

是因为/mnt/cdrom作为目录的时候,里边是一个一个的block来存储数据。当我把/mnt/cdrom作为一个挂载点的时候,是把这个目录作为进入另一个分区的介入点(光盘也是一个存储空间,是一个独立的空间),所以/mnt/cdrom作为目录的访问点就不在了,但是里边的数据并没有删除,所以/mnt/cdrom挂载点一旦卸载,/mnt/cdrom目录又回归原始位置,就又可以读取出原来文件中的数据了。

这就是为什么说一定要用空目录做挂载点,因为有数据的目录,一旦作为挂载点,原来目录中的数据是不能查看也不能删除,占用系统资源,不合理。

『学了就忘』Linux基础命令 — 38、Linux中光盘的挂载的更多相关文章

  1. 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)

    目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...

  2. 『学了就忘』Linux基础 — 16、Linux系统与Windows系统的不同

    目录 1.Linux严格区分大小写 2.Linux一切皆文件 3.Linux不靠扩展名区分文件类型 4.Linux中所有的存储设备都必须在挂载之后才能使用 5.Windows下的程序不能直接在Linu ...

  3. 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令

    目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...

  4. 『学了就忘』Linux基础命令 — 26、帮助命令

    目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...

  5. 『学了就忘』Linux基础命令 — 37、Linux中挂载操作的相关命令

    目录 1.mount命令介绍 (1)mount命令说明 (2)mount命令格式 2.mount命令示例 3.mount -a命令说明 4.-o特殊选项说明 5.exec/noexec选项说明 挂载就 ...

  6. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  7. 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍

    目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...

  8. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  9. 『学了就忘』Linux服务管理 — 79、源码包安装的服务管理

    目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...

随机推荐

  1. 鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 百篇博客分析OpenHarmony源码 | v54.01

    百篇博客系列篇.本篇为: v54.xx 鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 51.c.h.o 下图是一个可执行文件编译,链接的过程. 本篇将通过一个完整的小工程来阐述E ...

  2. 鸿蒙内核源码分析(内存分配篇) | 内存有哪些分配方式  | 百篇博客分析OpenHarmony源码 | v11.02

    百篇博客系列篇.本篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有哪些分配方式 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有哪些 ...

  3. ubuntu18.04 kuebadm 安装 k8s-1.15.9

    ubuntu kubeadm 搭建kubernetes1.15.9 准备 update && 安装docker apt-get update apt install docker 修改 ...

  4. Phalcon如何切换数据库《Phalcon入坑指南系列 三》

    本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能(项目配置.控制器.模型.增.删.改.查) 三.Phalcon ...

  5. Spring中IOC的理解

    Spring中IOC的理解 1.什么是IOC? (1)控制反转.把对象创建和对象间的调用过程交给Spring进行管理. (2)使用IOC的目的:为了耦合度降低. 2.IOC底层原理? (1)xml解析 ...

  6. ASP.NET Core Filter与IOC的羁绊

    前言 我们在使用ASP.NET Core进行服务端应用开发的时候,或多或少都会涉及到使用Filter的场景.Filter简单来说是Action的拦截器,它可以在Action执行之前或者之后对请求信息进 ...

  7. 初探区块链数字加密资产标准ERC721

    ERC721介绍 数字加密货币大致可以分为原生币(coin)和代币(token)两大类.前者如BTC.ETH等,拥有自己的区块链.后者如Tether.TRON.ONT等,依附于现有的区块链.市场上流通 ...

  8. 后台管理系统使用vue-element-admin搭建

    近期在搞一个会议健康申报系统时,要搞一个后台,用到了vue-element-admin模板,使用的是PanJianChen(源码地址:https://github.com/PanJiaChen/vue ...

  9. C 可变参数列表 stdarg.h

    内容来自<c和指针>,整理后方便个人理解 stdarg.h 菜鸟教程 - <stdarg.h> 类型 va_list 宏 va_start va_arg va_end #inc ...

  10. 8086的复位与启动 CPU执行指令的步骤

    东北大学-计算机硬件技术基础 CPU执行指令的步骤 取指令 Fetch 指令译码 Decode 执行指令 Execute 回写 Write-back 修改指令指针 取指令 将CS和IP的内容通过地址加 ...