『学了就忘』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.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...
随机推荐
- [转载]Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Python3入门系列之-----file方法操作
file方法 file处理文件的一些方法,创建一个file对像后即可对文件进行读写相关操作,首先你得打开文件,此处用到open函数 open函数 语法:file_objcet = open(file_ ...
- bootstrap inputfile 使用-上传,回显
近期用bootstrap 做前端的上传,功能涉及到上传时就是召网上的教程随便弄一搜一大把,但是做到修改页面时候不知道页面该如何回显,折腾了一阵子才完成遂记录下来希望能给看到的小伙伴有点启发吧. 首先是 ...
- Phalcon多模块如何实现连接不同数据库 《Phalcon入坑指南系列 五》
本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能<Phalcon入坑指南系列 二> 三.Phalc ...
- FastAPI(43)- 基于 pytest + requests 进行单元测试
FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + R ...
- 关于突破 SESSION 0 隔离场景发现的一些问题
0x00 Tricks 0x01 用ZwCreateThreadEx 在 Windows 10 下直接通过管理员权限+SeDebugPrivilege启用. 0x02 用CreateRemoteThr ...
- JVM详解(三)——运行时数据区
一.概述 1.介绍 类比一下:红框就好比内存的运行时数据区,在各自不同的位置放了不同的东西.而厨师就好比执行引擎. 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的 ...
- 盘点一下Redis中常用的Java客户端,或者咱们手写一个?
Java中那些Redis的客户端 前面我们的所有操作都是基于redis-cli来完成的,那么我们要在Java中操作Redis,怎么做呢?首先我们先来了解一下Redis Serialization Pr ...
- 4.14——208. 实现 Trie (前缀树)
前缀树(字典树)是经典的数据结构,以下图所示: 本来处理每个节点的子节点集合需要用到set,但是因为输入规定了只有26个小写字母,可以直接用一个[26]的数组来存储. 关于ASCII代码: Java ...
- mall笔记
介绍 SpringBoot.SpringCloud.SpringCloudAlibaba.Nacos.Sentinel.Seata整合demo. 软件架构 JDK 1.8 Spring Boot 2. ...