《鸟哥的Linux私房菜》读书笔记三
1.在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名。比如 IDE接口的硬盘文件名为/dev/hd[a-d] 括号内的字母为a-d当中任意一个,即/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd四个文件.
装置 | 装置在Linux内的档名 |
IDE硬碟机 | /dev/hd[a-d] |
SCSI/SATA/USB硬碟机 | /dev/sd[a-p] |
USB快闪碟 | /dev/sd[ap](与SATA相同) |
软碟机 | /dev/fd[0-1] |
印表机 | 25针: /dev/lp[0-2] USB: /dev/usb/lp[0-15] |
滑鼠 | USB: /dev/usb/mouse[0-15] PS2: /dev/psaux |
当前CDROM/DVDROM | /dev/cdrom |
当前的滑鼠 | /dev/mouse |
磁带机 | IDE: /dev/ht0 SCSI: /dev/st0 |
更多Linux内核支持的设备参考网站: http://www.kernel.org/pub/linux/docs/device-list/devices.txt
2.磁盘分区
以IDE介面来说,由于一个IDE排线可以连接两个IDE装置,又通常主机都会提供两个IDE介面,因此最多可以接到四个IDE装置。也就是说,如果你已经有一个光碟设备了,那么最多就只能再接三颗IDE介面的磁碟啰。这两个IDE介面通常被称为IDE1(primary)及IDE2(secondary),而每条排线上面的IDE装置可以被区分为Master与Slave。这四个IDE装置的档名为:
IDE\Jumper | Master | Slave |
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc |
/dev/hdd |
3.SATA接口使用SCSI模块来驱动,与IDE不同,SATA/USB接口的磁盘根本没有一定的顺序,这个时候就得根据Linux内核检测到磁盘的顺序了。
例子:如果PC上面有两个SATA磁盘以及一个USB磁盘,而主板上有六个SATA的插槽。这两个SATA磁盘分别安插在主板上的SATA1,SATA5插槽上,请问这三个磁盘在Linux中的设备文件名?
答:由于是使用检测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备文件名如下:
SATA1插槽的文件名:/dev/sda
SATA5插槽的文件名:/dev/sdb
USB磁盘(开机完成后才被系统识别):/dev/sdc
4.磁盘的盘片上面可细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512byte那么大。
磁盘的第一个扇区特别重要,因为它记录了整个磁盘的两个重要信息:
主引导分区(MBR):可以安装引导加载程序的地方,有446bytes。
分区表:记录整块硬盘分区的状态,有64bytes
5.在分区表中,总共分成四组记录区,每组记录区记录了该区段的起始与结束的柱面号码(分区的最小单位)
假设磁盘的设备文件名为/dev/hda,那么四个分区的设备文件名分别为:
P1:/dev/hda1 1~100
P2:/dev/hda2 101~200
P3:/dev/hda3 201~300
P4:/dev/hda4 301~400
注意的几点:
所谓的分区只是针对那个64byte的分区表设置
硬盘默认的分区表仅能写入四组分区信息
这四组分区信息我们称为主(Primary)或扩展(Extended)分区。
分区的最小单位为柱面(cylinder)
分区的作用:1.数据的安全性 2.系统的性能
6.可以在扩展分区上划分多个逻辑分区
注意1~4的数字保留给主分区或扩展分区使用,逻辑分区的设备名称号由5号开始
主分区与扩展分区最多可以有四个(硬盘的限制)
扩展分区最多只能有一个(操作系统的限制)
逻辑分区是由扩展分区持续切割出来的分区
能够被格式化作为数据访问的分区为主分区与逻辑分区,扩展分区本身无法格式化
逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11个逻辑分区(5号到15号)
如果扩展分区被破坏掉,所有上面的逻辑分区将会被删除
7.假如PC有两块SATA硬盘,我想在第二块硬盘分出6个可用的分区(可以被格式化来访问数据),那么每个分区在Linux系统下的设备文件名为何?且分区类型为何?至少写出两种不同的分区方式
答:由于P+E最多只能有4个,E最多只能有一个
第一种分法:
P+P+P+E
实际可用的是 /dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb5,/dev/sdb6,/dev/sdb7
第二种分法:
P+E
实际可用的是/dev/sdb1,/dev/sdb5,/dev/sdb6,/dev/sdb7,/dev/sdb8,/dev/sdb9
8.电脑开机流程到操作系统之前的动作应该是这样的:
BIOS:开机主动执行的韧体(韧体就是写入到硬件上的一个软件程序),会认识第一个可开机的设备
MBR:第一个可开机的设备的第一个扇区内的主引导分区块,内包含引导加载程序
引导加载程序(Boot loader):一支可读取内核文件来执行的软件
内核文件:开始操作系统功能
9.Boot loader的作用:提供菜单,载入内核文件,转交其他loader
10.每个分区都有自己的启动扇区(boot sector)
实际可开机的内核文件是放置到各分区内的
loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已
loader可直接指向或是间接将管理权转交给另一个管理程序
11.Linux操作系统的文件使用目录树,与磁盘的对应需要有"挂载"的操作才行。所谓的挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是进入该目录就可以读取该分区。
《鸟哥的Linux私房菜》读书笔记三的更多相关文章
- R语言实战读书笔记(三)图形初阶
这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...
- R实战读书笔记四
第三章 图形入门 本章概要 1 创建和保存图形 2 定义符号.线.颜色和坐标轴 3 文本标注 4 掌控图形维数 5 多幅图合在一起 本章所介绍内容概括例如以下. 一图胜千字,人们从视觉层更易获取和理解 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...
- 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...
- 【转载】MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
1. 在 Analysis Service 分析服务中,Cube (多维数据集) 是以一个多维数据空间来呈现的.在Cube 中,每一个纬度的属性层次结构都形成了一个轴.沿着这个轴,在属性层次结构上的每 ...
- Spring实战读书笔记
Spring实战读书笔记 Spring-core Spring之旅 - DI 和 AOP 概念 spring 的Bean容器 spring 的 核心模块 Spring的核心策略 POJO 最小侵入式编 ...
随机推荐
- Css样式之overflow
1:overflow属性的可能取值有4种:visible,hidden,scroll,和auto 1) visible:不裁剪溢出的内容.浏览器将把溢出的内容呈现在其容器的显示区域之外,全部内容都可见 ...
- order by跟group by 跟having(2)
- Unity3D NGUI学习(一)血条
这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...
- 周末充电之WPF(四).多窗口之间操作
多窗口实例: 1.在多个窗口的情况下如何自定义指定要启动的窗口程序 <Application x:Class="toolbar.App" xmlns="http:/ ...
- Struts2的运行原理和运行与原理
Struts2 struts2的流程图 运行机制 1.客户端发送请求.通过ActionContextLoader调用FilterDispatcher(struts) 2.FilterDispatche ...
- 使用宏定义来减少JNI的繁琐
本篇文章由:http://www.sollyu.com/use-macro-definitions-to-reduce-tedious-jni/ 说明 相信写过cocos2d-x的朋友,或者写过jni ...
- 二进制方式快速安装MySQL数据库命令集合
二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...
- cp 命令参数
cp命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大. 语法: cp [选项] 源文件或目录 目标文件或目录 ...
- x264_param_t结构
typedef struct x264_param_t { unsigned int cpu; // CPU 标志位 int i_threads; // 并行编码多帧; 线程数,为0则自动多线程编码 ...
- HTML5 声明兼容IE的写法
<!DOCTYPE html> <!–[if IE]> <meta http-equiv=”X-UA-Compatible” content=”IE=8″ /> & ...