第八章 linux磁盘与文件系统管理
1:扇区是硬盘片上最小的存储物理量
2:分区的要点:就是记录每一个分区的起始柱面,结束柱面
3:MBR 主引导区 在一块硬盘的第0轨上
4:分好区后要对此区进行格式化,一个分区相当于一个文件系统,理论上一个分区不支持两种文件系统
5:硬盘最小的存储单位是扇区,数据存储的最小单位是逻辑块,逻辑块是以扇区为基础,2的n次方,磁头一次可以读取一块
6:每个文件系统开始位置称为超级块,其中放有文件系统的大小,空满块等信息
7:linux最标准的文件系统是ext2,linux中每个文件不仅有内容数据,还有文件的各种属性,标准的ext2文件系统中,将每个文件内容分为两部分来存储,一个是文件的属性,一个是文件的内容。
8:ext2文件系统会有两个区域:inode表+逻辑块;inode表和逻辑块的大小都要指定;
inode记录”文件的相关属性,文件内容存放哪个块(指针功能)”,逻辑块存储文件数据。
9:inode记录的信息有如下几个重要的:文件拥有者与用户组,文件访问权限,文件类型,文件的3个时间,文件大小,文件的隐藏属性,文件真正内容的指针;
10:linux读取文件/目录内容的过程
linux建立一个目录时,ext2会分配:
一个inode:记录目录的相关属性并指向分配到哪一个块
至少一个块:块记录这个目录下的相关文件或目录的关联性(相当于指定文件/目录1的inode位置)
linux建立一个文件时,ext2会分配:
至少一个inode:记录文件的相关属性并指向分配的哪一个块
至少一个块:块记录这个文件的内容
例如:读取文件/etc/crontab;过程如下:根据根目录下的块内容找到/etc目录所对应的inode,根据/etc的inode找到/etc的块,在/etc的块中找到crontab对应的inode,根据此inode找到crontab块,读取块内容。
11:查看某个文件的inode号可用 ls –i 文件/目录,inode号相当于inode的指针
12:一个inode可以指定控制几个块,一个inode只能记录1个文件的属性,一个inode大小为128字节
13:建立ext2分区时,根据分区大小,确定数个块组,每个块组中有很多部分,其中重要的就是数据块部分和inode表部分
14:文件系统的简单操作
df命令:df –T 查看分区及对应的文件系统;df目录 查看“目录对应的分区信息”;df -i 查看各分区inode信息
15:硬盘的代号跟IDE插槽有关,如硬盘为:/dev/hda,这这个硬盘的分区可以为/dev/hda1一直往上加;
16:df -aT出来后,一些列项的说明。Filesysem:表示分区;Type:此分区的文件系统类型;Mounted on;是磁盘载入的目录所在(载入点)
17:du [-ahskm] 文件/目录;du 目录:查看各目录的大小;du-a :查看目录和文件的大小;du -s:查看目录的总容量。
18:连接文件分为硬连接和符号连接两种
19:硬连接文件(或称为实际连接)
20:一个文件夹下的文件a其实只是真实文件a的关联数据(前面已经说明,目录块下的内容都是此目录下文件或目录的关联性),此关联数据告诉文件a的inode位置,找到inode则可以找到文件a的块。
21:硬连接就是增加一个文件的关联数据,硬连接不会用掉inode与磁盘空间,只是在目录块中多写入一个关联数据
22:硬连接限制:不能跨文件系统,不能连接目录。
23:符号连接相当于快捷方式,其会新建一个文件(文件内容是指向的文件的文件名,包含路径),这个文件会让数据的读取指向它连接的文件内容。
24:ln [-sf] 源文件 目标文件;-s建立符号连接,不加参数建立硬连接;-f是目标文件若存在也重建
25:符号连接建立好了以后不要移动其位置,因为其用相对路径来指向文件
26:对于文件而言:硬连接会增加连接数,也就是ll时第二个数字(第六章第七条),软连接不会增加。
27:目录的连接数意思。新建目录的连接数为2,上层目录连接数+1.
28:fdisk -l 输出整个系统内能搜索到的所有硬盘及各硬盘的分区(可能有的没有挂载,所以df -a是看不到某些分区);sudo fdisk -l;df -T/dev/xxx 查看各分区的文件系统
29:fdisk /dev/xxx 进入xxx硬盘后,输入p,会显示此硬盘的所有分区。
30:删除一个分区。
31:新增一个分区。
32:一块硬盘最多可以分成四个分区,最少要有一个主分区,最多可以有1个扩展分区,所以要么是n个主分区(n<=4),要么是n(n<=3)个主分区+1个扩展分区
33:扩展分区不能直接使用,必须分成逻辑分区再用,可以在一个扩展分区中再划分若干逻辑分区。
34:分区结束后要将某分区格式化(对应某个文件系统),一般用mke2f(格式化成ext2/3格式的文件系统);也可以mkfs格式化成其他的
如:mke2fs -j-L “name” /dev/hdb5;将/dev/hdb5格式化成ext3文件系统,卷标为“name”
35:fdisk最主要的工作是修改分区表
36:制作启动软盘mkbootdisk ;软盘低级格式化fdformat ;
37:建立分区并格式化完成后,可以检查磁盘有没有坏轨,检查完若有错误文件会放在lost+found中,lost+found只有载入分区的目录(载入点)才有这个默认的目录。
38:磁盘的载入与卸载:要将建立好的磁盘文件系统在linux上启用,一定要将其载入文件系统,所谓的载入点就是该分区所在的目录,此目录下的所有目录都归该分区,如果载入的目录非空,则载入后,原文件会暂时消失,卸载分区后会在显示出。
39:将文件系统载入linux系统,用mount命令
40:mount [-atonL] 设备名/卷标 载入点;mount -t ext3 /dev/hdb5 /mnt/wang
-a:按照/etc/fstab的内容将所有的磁盘都挂上来
-n:当分区载入时,linux会主动记录载入分区与载入点,放于文件/etc/mtab中,如果用-n表示略过写入mtab的操作
-L:用卷标载入
-t:告知载入分区的文件格式 mount -t ext3 ……;系统支持的文件系统在/lib/modules/`uname -r`/kernel/fs/文件夹中
-o:载入时加上额外的参数
41:mount 会列出所有已经载入的分区信息
42:mount --bind 目录1 目录2;将目录1载入到目录2,其实就相当于给目录1建立一个硬连接
43:卸载分区:umount 设备/载入点
44:mknod 设备名 [bcp] [Major] [Minor]
45:e2label 设备名 新的卷标 ;查看分区卷标用dumpe2fs -h /dev/xxx
46:tune2fs ;可以修改卷标,转换分区文件系统
47:载入U盘
48:根目录必须最先载入
48:启动时载入分区方法:/etc/fstab文件是系统启动就载入的内容
49:实际文件系统载入的记录在/etc/mtab /proc/mounts 文件中;
50:分区并格式化成相应的文件系统后,磁盘就可以加载到linux系统中了,用busybox可以完善文件系统的内容。
51:建立虚拟内存swap
--end-8