比较独特的文件 : 链接文件,设备文件,管道文件
1.设备文件:块设备,字符设备
b:
c:
设备文件都在/dev 目录下,每一个设备都有2个数字,分别表示主设备号(标识设备类型)和次设备号(同一类型下的不同设备),设备不占用磁盘空间
mknod
mknod创建特殊文件
-m 指定权限
设备文件的主要目的是作为设备的访问入口的,主设备号一定是跟某类设备关联起来的,设备号默认是被内核识别的,往硬件上加入某个设备,内核识别出来为XX后,
往这个文件里面放送的数据都自动发送到对应的设备上去了。
不要轻易的向一个设备发送一个文件,比如向硬盘发送东西,会直接把MBR覆盖掉。向终端发送文件还是没有问题的,能让对方的终端突然冒出来一个字符,很奇怪!
tty 终端
通过echo和>>向终端发送一句话,终端能够收到
2.硬盘文件的识别
硬盘文件不是随意命名的,上面的mydev ,mydev2是为了理解谁便起的名字,实际上不是这样的。
硬盘根据接口的不同,文件的标识方法也不一样。并口硬盘、串口硬盘
IDE接口比较独特,一块PCB主板上只有2个IDE接口,每块IDE口线上接2个盘。有2个IDE口,就能接4个盘。4个分别为hda,hdb,hdc,hdd(以ha开头,如果有多个就用a,b,c,d来区分)。sata,scsi,usb命名就很难说,需要借助udev来实现
3.查看当前系统识别了几块硬盘
fdisk -l
结果中打上*号的是操作系统存在的位置。-l后面不接参数显示所有已经识别出来的东西
4.linux支持的文件系统
文件系统本身属于内核中的功能,是内核应该提供的基本功能。
创建文件系统命令 mkfs -t
内核有多种文件系统,写一个操作文件的命令只要几行代码,但是写这个命令需要兼容多个文件系统就要好几万行代码(太麻烦)。在文件系统上抽象出一层软件来,它能识别不同文件系统,命令只需要试用这个软件,这个软件叫虚拟文件系统-----VFS。由于Linux拥有VFS,导致linux支持众多的文件系统。上一篇讲的图书馆例子只是linux的其中一种文件系统。
d
对linux来说,一个分区就是一个独立的文件系统,因此每一个分区都可以单独格式化。一个分区叫ext2,还有一个分区叫xfs,完全没有任何问题。最终都要归类在根下,叫挂载。
根目录下的任何一个文件都可以作为其他分区的访问入口,可能文件在第一个分区,文件下面的东西却在其他分区上,找任何东西首先要找到根。
高级格式化就是创建文件系统(没有别的意义),文件也只有在创建文件系统后才能被挂载,被关联到根下的某个目录上作为访问入口。
1>新建分区
一个硬盘最多只能有4个主分区,如果已经有3个主分区,再加一个主分区,那么硬盘上其他所有的容量都要给最后加的这个主分区。新建分区时,会提示从哪个柱面开始到哪个柱面结束,只写需要的大小就可以了。
新建的分区内核不能识别,/proc/partitions里面显示内核识别 了哪些分区
2>让内核重读分区partprobe,这个命令在redhat5上面能用,6上就不能用了。
partprobe 通知内核重新读分区表