快乐的Linux命令行笔记-创建映像
第一天的笔记-基本的命令和使用方法
第二天的笔记-操作文件
第三天的笔记-查阅命令文档并创建命令别名
第四天的笔记-重定向标准输入和输出以及处理查询结果
第五天的笔记-命令的展开
第六天的笔记-快捷键
第七天的笔记-文件权限
第八天的笔记-进程
第九天的笔记-修改shell环境
第十天的笔记-vim入门
第十一天的笔记-自定义shell提示符
第十二天的笔记-软件包管理系统
总结
今天学习了如何挂载和卸载设备, 创建映像文件, 将映像文件写入到CD-ROM中, 使用md5检测文件完整性。
挂载和卸载存储设备
在/etc/fstab
中, 列出了系统启动时要挂载的设备, 例如(来自Fedora 7系统的文件实例):
LABEL=/12 / ext3 defaults 1 1
LABEL=/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
字段说明
字段 | 内容 | 说明 |
---|---|---|
1 | 设备名 | 传统上, 这个字段包含与物理设备相关联的设备文件的实际名字, 比如说/dev/hda1(第一个IDE通道上第一个主设备分区)。然而今天的计算机, 有很多热插拔设备(像USB驱动设备), 许多现代的Linux发行版用一个文本标签和设备相关联。当这个设备连接到系统中时, 这个标签(当储存媒介格式化时, 这个标签会被添加到存储媒介中)会被操作系统读取, 那样的话, 不管赋给实际物理设备哪个设备文件, 这个设备仍能被系统正确地识别。 |
2 | 挂载点 | 设备所连接到的文件系统树的目录 |
3 | 文件系统 | Linux 允许挂在许多文件系统类型。大多数本地的Linux文件系统是ext3, 但是也支持很多其它的, 比如FAT16(msdos), FAT32(vfat), NTFS(ntfs), CD-ROM(iso9660), 等等。 |
4 | 选项 | 文件系统可以通过各种各样的选项来挂载。有可能, 例如, 挂载只读的文件系统, 或者挂载阻止执行任何程序的文件系统(一个有用的安全特性, 避免删除媒介。) |
5 | 频率 | 一位数字, 制定是否和在什么时间用dump命令来备份一个文件系统。 |
6 | 次序 | 一位数字, 指定fsck命令按照什么次序来检查文件系统。 |
查看挂载的文件系统列表
使用mount命令来查看当前挂载的文件系统
1 |
|
显示的列表的格式是:设备 on 挂载点(文件路径) type 文件系统类型 (选项), 比如:
pstore on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,modev,noexec,relatime,hugetlb)
挂载和卸载设备
首先插入一个移动设备, 系统会自动挂载该设备。
使用mount
命令来查看刚刚挂载的设备名。
之后卸载这个设备, 重新挂载到另一个位置。
1 |
|
注意, 卸载需要使用超级用户权限。
然后就可以cd到该文件夹下, 查看该设备中的文件。
1 |
|
在早期, 当人们编辑完文档需要打印时, 虽然电脑读取速度很快, 可是打印机的接受速度很慢, 在打印的过程中电脑什么也做不了, 所以加入了缓存。计算机先将文档快速的输入到缓存中去, 之后计算机可以做其他事情, 而缓存中的文档则以打印机可以接受的速度进行输入。
现在不只是打印机这样做, 计算机中也有缓存。操作系统会尽可能的将数据写入到内存中, 之后在合适的时间进行真正的写入到物理设备中。在执行卸载操作之前, 操作系统会将内存中所有应该被写入到物理设备中的数据写入, 在进行卸载, 而如果不执行卸载操作则会导致文件损坏。
确定设备名称
如果遇到了不支持自动挂载的环境, 则需要自己查找设备名称来进行挂载。
查看所有设备
1 |
|
Linux 存储设备名称
模式 | 设备 |
---|---|
/dev/fd* | 软盘驱动器 |
/dev/hd* | 老系统中的 IDE(PATA) 磁盘。典型的主板包含两个IDE连接器或者是通道, 每个连接器带有一根缆线, 每根缆线上有两个硬盘驱动器连接点。缆线上第一个驱动器叫做主设备, 第二个叫做从设备。设备名称这样安排, /dev/hda 是指第一通道上的主设备名; /dev/hdb 是第一通道上的从设备名; /dev/hdc 是第二通道上的主设备名, 等等。末尾的数字表示硬盘驱动器上的分区。例如, /dev/hda1 是指系统中第一硬盘驱动器上的第一个分区, 而 /dev/hda 则是指整个硬盘驱动器。 |
/dev/lp* | 打印机 |
/dev/sd* | SCSI 磁盘。在最近的Linux 系统中, 内核把所有类似于磁盘的设备(包括 PATA/SATA 硬盘, 闪存, 和USB存储设备, 比如说可移动的音乐播放器和数码相机) 看作 SCSI 磁盘。剩下的命名系统类似于上述所描述的旧的 /dev/hd* 命名方案。 |
/dev/sr* | 光盘(CD/DVD 读取器和烧写器) |
查看刚刚插入的设备名称的方法
1 |
|
创建新的文件系统
即格式化移动设备。
使用fdisk来操作分区
1 |
|
之后会显示fdisk的命令:
1 |
|
输入p
会打印这个设备的分区表
输入l
会打印所有可用的分区类型列表, 可以看到83是针对Linux系统的ID号
输入t
来更改分区ID号, 例如:
1 |
|
输入w
将修改过的设置从内存写入到物理设备
使用mkfs命令创建一个新的文件系统
1 |
|
-t
来指定文件系统类型, 紧跟着的是需要格式化的分区
这篇博客介绍了各个文件系统类型。
测试和修复文件系统
使用fsck命令检查驱动器(需要先执行卸载)
1 |
|
格式化软盘
步骤:
将软盘进行低级格式化
创建何使的文件系统
使用fdformat来格式化软盘。
1 |
|
接下来创建一个FAT文件系统
1 |
|
移动或复制整个设备中的所有数据
1 |
|
如果有两个相同容量的USB闪存驱动器, 并且要精确的把第一个驱动器中的内容复制给第二个(/dev/sdb, /dev/sdc)
1 |
|
将驱动器中的内容复制到一个普通文件中:
1 |
|
创建 CD-ROM 映像
步骤:
- 构建一个 ISO映像文件
- 将这个映像文件写入到CD-ROM媒介中
制作ISO映像文件
1 |
|
对于音频CD, 可以使用cdrdao命令
使用某一个目录来创建映像文件
1 |
|
-R
选项添加元数据为Rock Ridge扩展, 这允许使用长文件名和POSIX
风格的文件权限-J
选项使 Joliet 扩展生效, 这样 Windows中就支持长文件名了
wodim 和 genisoimage 这两个程序分别替代了 cdrecord 和 mkisofs, 它们是cdrtools 软件包的一部分。
将ISO写入CD-ROM中
直接挂载一个ISO镜像
1 |
|
清除一张可重写入的CD-ROM
1 |
|
写入镜像
1 |
|
使用md5sum校验文件的完整性
每一个文件都有一个独一无二的md5sum, 除非两个文件一摸一样。
可以通过md5sum命令来查看生成的数字, 是否与提供者所提供的数字完全一样。
1 |
|
最后有一个比较复杂的检查文件完整性的命令:
1 |
|