『学了就忘』Linux基础命令 — 38、Linux中光盘的挂载
提示:关于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,因为很早以前的系统,硬盘和光盘系统是统一命名的,在很早以前认为系统有两块硬盘就够了hda,hdb,然后光盘默认识别就是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中光盘的挂载的更多相关文章
- 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)
目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...
- 『学了就忘』Linux基础 — 16、Linux系统与Windows系统的不同
目录 1.Linux严格区分大小写 2.Linux一切皆文件 3.Linux不靠扩展名区分文件类型 4.Linux中所有的存储设备都必须在挂载之后才能使用 5.Windows下的程序不能直接在Linu ...
- 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令
目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...
- 『学了就忘』Linux基础命令 — 26、帮助命令
目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...
- 『学了就忘』Linux基础命令 — 37、Linux中挂载操作的相关命令
目录 1.mount命令介绍 (1)mount命令说明 (2)mount命令格式 2.mount命令示例 3.mount -a命令说明 4.-o特殊选项说明 5.exec/noexec选项说明 挂载就 ...
- 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区
目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...
- 『学了就忘』Linux软件包管理 — 40、Linux系统软件包介绍
目录 1.Linux系统软件包分类 2.源码包说明 3.二进制包说明 4.RPM包的优缺点 4.RPM包的两种安装方法 5.总结 1.Linux系统软件包分类 Linux系统下的软件包只有源码包和二进 ...
- 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令
目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...
- 『学了就忘』Linux服务管理 — 79、源码包安装的服务管理
目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...
随机推荐
- 鸿蒙内核源码分析(内存分配篇) | 内存有哪些分配方式 | 百篇博客分析OpenHarmony源码 | v11.02
百篇博客系列篇.本篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有哪些分配方式 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有哪些 ...
- P5494-[模板]线段树分裂
正题 题目链接:https://www.luogu.com.cn/problem/P5494 题目大意 给出一个可重集合要求支持 将集合\(p\)中在\([l,r]\)的数放到一个新的集合中 将集合\ ...
- P2350-[HAOI2012]外星人【线性筛】
正题 题目链接:https://www.luogu.com.cn/problem/P2350 题目大意 给出\(N\)质因数分解之后的结果,求每次\(N=\varphi(N)\),多少次后\(N=1\ ...
- P4258-[WC2016]挑战NPC【带花树】
正题 题目链接:https://www.luogu.com.cn/problem/P4258 题目大意 给出\(n\)个球,\(m\)个篮筐,每个球都可以被放入一些特定的篮筐,每个球都要放,要求球的个 ...
- NOI.AC#2139-选择【斜率优化dp,树状数组】
正题 题目链接:http://noi.ac/problem/2139 题目大意 给出\(n\)个数字的序列\(a_i\).然后选出一个不降子序列最大化子序列的\(a_i\)和减去没有任何一个数被选中的 ...
- .NET 排序 Array.Sort<T> 实现分析
System.Array.Sort<T> 是.NET内置的排序方法, 灵活且高效, 大家都学过一些排序算法,比如冒泡排序,插入排序,堆排序等,不过你知道这个方法背后使用了什么排序算法吗? ...
- NLP与深度学习(五)BERT预训练模型
1. BERT简介 Transformer架构的出现,是NLP界的一个重要的里程碑.它激发了很多基于此架构的模型,其中一个非常重要的模型就是BERT. BERT的全称是Bidirectional En ...
- IOS开发之UIScrollView约束布局
概要 在iOS开发学习中,UIScrollView是绕不过去的一个重要控件. 但是相对于Android的ScrollView,iOS的这个滚动控件的用法简直是复杂一万倍... 最主要是目前能找到的大部 ...
- Python | 一键生成九宫格图片
一键生成九宫格图片 首先我们准备几张图片: 将代码文件放在放置图片的地方,用软件打开: 点击运行,在当前目录下会生成一个文件夹: 打开新生成的文件夹: 打开对应图片的名称文件夹: 如果不想图片被分成9 ...
- 洛谷4208 JSOI2008最小生成树计数(矩阵树定理+高斯消元)
qwq 这个题目真的是很好的一个题啊 qwq 其实一开始想这个题,肯定是无从下手. 首先,我们会发现,对于无向图的一个最小生成树来说,只有当存在一些边与内部的某些边权值相同的时候且能等效替代的时候,才 ...