## 一、设备文件
Linux沿袭了Unix的风格,将所有设备看成一个文件
设备文件分为两种:
块设备文件(b):比如硬盘、光驱
字符设备文件(c):比如串口、键盘
设备文件一般存放在/dev目录下
## 二、常用的块设备文件
/dev/hd[a-t] : IDE设备
/dev/sd[a-z] :SCSI设备 包括SATA设备和U盘
/dev/fd[0-7] :标准软驱
/dev/md[0-31] :软raid设备
loop[0-15] :本地回访设备
ram[0-19] :内存
## 三、常用字符设备文件
/dev/null :无限数据接收设备
/dev/zero :无限零资源
/dev/tty[0-31] :虚拟终端
/dev/ttyS[0-9] :串口
/dev/lp[0-3] :并口
/dev/console :控制台
/dev/fb[0-31] :framebuffer
## 四、常用的符号连接设备文件
/dev/cdrom ---->/dev/hd[a-t] ,sd[a-z] ![](https://box.kancloud.cn/2016-06-14_575f8bb723df0.jpg)
/dev/modem----->/dev/ttyS[0-9]
/dev/pilot----->/dev/ttyS[0-9]
## 五、设备文件的使用
用户可以通过操作设备文件来完成对设备的操作。
echo hell > /dev/tty2
在第二个tty终端上显示’hello'
cp /dev/fd0 /dev/fd1
将第一个软驱中的软盘拷入第二个软驱中的软盘
dd if=/dev/hda of=/root/mbr bs=512 count=1
备份第一个硬盘上的mbr为/root目录下的mbr文件
## 六、dd命令
dd指令是一个功能强大的copy命令
支持在拷贝文件的过程中转换文件格式
支持指定范围的复制
常用参数
if = 文件名 :指定源文件
of=文件名:指定目标文件
bs=xxx :指定块的大小
count=n:指定复制块的数量
![](https://box.kancloud.cn/2016-06-14_575f8bb735476.jpg)
if相当于< of相当于 >
![](https://box.kancloud.cn/2016-06-14_575f8bb74763b.jpg)
## 七、mknod
系统用户可以用mknod指令来建立所需的设备文件
语法: mknod 文件名 文件类型 主号 从号
主号与从号可以在
/usr/share/doc/MAKEDEV-3.15.2/devices.txt中找到
也可以用MAKDEV创建
## 八、硬盘的结构
对于每一个硬盘
主引导记录/Master Boot Record/MBR
硬盘分区表/Standard Partition Table/SPT
主分区/Primary Partition
扩展分区/Extended Partition
逻辑分区/Logical Partition
## 九、硬盘分区
一块硬盘只能有四个分区
用户可以也只能将一个主分区变成扩展分区
在扩展分区,用户可以以链接表方式建立逻辑分区
![](https://box.kancloud.cn/2016-06-14_575f8bb75c4e3.jpg)
通常,硬盘的最小物理组成单位是扇区
![](https://box.kancloud.cn/2016-06-14_575f8bb7805ad.jpg)
主引导区:存放磁盘引导信息,MBR只能记录4个分区(主分区和扩展分区)其中扩展分区只能有一个,所以最多可以有下面分区方法:
P+P+P+P
P+P+P+E
主分区:
扩展分区:存放额外的分区信息(主引导分区MBR只能记录4个分区),扩展分区不能直接使用,要划分成逻辑分区,考虑到磁盘的连续性,一般建议将扩展分区放在最后面的柱面内。
如果一个硬盘安装在IDE1的主盘,分成6个分区,每个分区的代号是什么?
第一种分区方法:
![](https://box.kancloud.cn/2016-06-14_575f8bb792630.jpg)
第二种分区方法:
![](https://box.kancloud.cn/2016-06-14_575f8bb7aad9c.jpg)
上面是两种分区方法,还有其他的分区方法,在每个分区的最前面第一个扇区有一个特殊的快,称为超级块,方法一种扩展分区指向的是/dev/hda4的超级块,方法二中扩展分区指向的是/dev/hda2的超级块。
注意上面的第二种分区方式,/dev/hda2 /dev/hda3 /dev/hda3 已经被预留,所以扩展分区从/dev/hda5开始
## 十、特殊目录
1.建议不可与root分区分开的目录:
Linux在启动的时候,开始核心只会载入一个分区 / ,但是启动的时候会用到很多命令与函数库以及配置文件所以 /lib /sbin /bin /etc要和 / 在一个分区,/dev 是所有设备的目录,启动时使用,也要和 / 在一个分区。
2、建议最好独立成为单一分区的目录
也有一些目录由于安全和特殊需要,希望独立成为分区,例如:/home /usr /var /tmp等
/home :系统用户的家目录,使用最频繁的目录,一般会分配最大硬盘份额
/usr :程序的安装目录,也可以独立出来,读取也很频繁
## 十一、一般主机分区与目录的配置
系统通常是在/usr中,个人数据放在/home中,启动数据放在/etc中。可将系统划分为下面分区(可以参考)
/ 可分配约1G以内
/boot 大约50M就可以,启动文件并不大
/usr 通常比较大(安装数据)大概10G
/home 通常比较大(用户数据)剩下的空间
/var 至少1G以上