认识 EXT2 文件系统
第一个扇区最重要,内含硬盘主引导记录MBR( 446bytes )和分区表( 64 bytes )
/dev/sd[ a-p ] [ 1-15 ]:为 scsi , sata , usb , flash 等接口的磁盘文件名
/dev/hd [ a-d ] [ 1-63 ]:为ide接口的磁盘文件名
磁盘分区:指定分区的起始与结束柱面
主分区和扩展分区最多4个(硬盘限制)
扩展分区最多一个(OS限制)
逻辑分区由扩展分区持续分出来
能够被格式化后作为数据访问的分区为:主分区和逻辑分区,扩展分区无法格式化
Linux中,ide硬盘最多59个逻辑分区(5-63),sata硬盘最多11个逻辑分区(5-15)
一个可以被挂载的数据为一个文件系统
权限和属性放在inode中,实际数据放在data block中(ls -i 可以查看inode)
还有一个超级块,记录整个文件系统基本信息,包括inode/block总量 使用量 剩余量以及文件系统的格式和相关信息
所谓“碎片整理”,是指block太离散,文件的读取性能很差导致。可以通过碎片整理将一个个文件所属的block汇合在一起,这样数据读取比较容易。
dumpe2fs :询super block 和 block group 信息
df:查询挂载的设备,文件系统整体磁盘使用量
du:评估文件系统磁盘使用量(常用于评估目录所占容量)
挂载点一定是目录,该目录是进入文件系统的入口
连接文件:ln [ -s ]
硬连接:hard link
hard link 只是在某个目录下新建一条文件名连接到某个inode号码的关联记录而已
ll -i 查看出的 link 个数的意义是:多少文件名链接到这个inode号码
硬连接很安全,但是不能跨文件系统,也不能连接到目录!
hard link 只是在某个目录下的block多写入一个关联数据,既不会增加inode也不会增加block的数量(除非将block写满了才会新增一个block记录)
符号连接:symbolic link (等于windows的快捷方式)
创建一个独立的文件,这个文件会让数据的读取指向它连接的那个文件的文件名,源文件删除后,symbolic link 的文件无法打开
占用inode和block
细节:新建目录时,新的目录的连接数目为2,而上层目录的连接数将会+1,因为每个目录下面一定有: ./ 和 ../
磁盘分区,格式化,检验与挂载
磁盘分区:fdisk [ -l ]
常用: d 删除分区,n 新增分区,p 打印分区表, q 不存储直接离开, w 将刚才的操作写入分区表
磁盘格式化:
mkfs [ -t 文件系统格式] 设备文件名
mke2fs [ -b block大小] [ -i block大小] [ -L 卷标] [ -cj ] 设备
磁盘检验:
fsck [ -t 文件系统] [ -Acay] 设备名称
badblocks - [ svw ] 设备名称
磁盘挂载:mount
挂载点必须是目录!
单一文件系统不应该被重复挂载在不同的挂载点
单一目录不应该重复挂载多个文件系统
作为挂载点的目录理论上应该都是空目录
设备文件卸载:
umount [ -fn ] 设备文件名或者挂载点
磁盘参数修改:
mknod 设备文件名 [ bcp ] [ Major ] [ Minor ]
e2label 设备名称 新的label名称
tune2fs [ -jlL ] 设备代号
hdparm [ -icdmXTt ] 设备名称
设置开机挂载:
开机挂载 /etc/fstab 以及 /etc/mtab
限制:
根目录是必须挂载的,而且一定要优先与其他mount point被挂载进来
其他挂载点必须为已新建的目录,可任意指定但是要遵守系统目录框架原则
所有挂载点在同一时间内,只能挂载一次
所有分区在同一时间内,只能挂载一次
若进行卸载,必须先将工作目录转移到挂载点(以及其子目录)之外
/etc/fstab 是开机时的配置文件,不过实际文件系统的挂载是记录到 /etc/mtab 与 /proc/mounts 这两个文件中的。如果在 /etc/fstab 输入的数据有错误,导致无法顺利开机启动,而进入单用户维护模式,此时是 readonly 状态,可以用: mount -n -o remount , rw /
内存交换空间 swap 的构建
使用物理分区构建 swap
使用文件构建 swap
swap 使用上的限制:
一般的desktop意义不大,但是服务器和工作站一定要配置swap!
swap 主要是当物理内存不够用时,将某些在内存中所占的程序暂时移动到 swap 中去,物理内存可以被需要的程序来使用;Linux主机如果可以进入 休眠 模式,运行中的程序会记录到 swap 中去,作为 唤醒 主机的状态依据。
重点回顾:
Linux最重要的文件系统为 Ext2/3,该文件系统内的信息为:
super block 记录该文件系统的整体信息,包括 inode / block 的总量 使用量 剩余量以及文件系统的格式与相关信息
inode 记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
block 实际记录文件的内容,文件过大可能占用多个block
Ext2 文件系统的数据访问为:索引式文件系统
需要磁盘碎片整理的原因是文件写入的block太过离散,此时文件的读取性能将很差导致,可以通过碎片整理将blocks汇集到一起
Ext2 文件系统主要有:boot sector , super block , inode bitmap , block bitmap , inode table , data block 六个部分组成
data block 是用来放置文件内容数据的地方,Ext2支持的 block 大小有 1 KB , 2 KB , 4 KB
inode 记录文件的属性/权限等数据,每个inode大小均固定为 128 bytes,每个文件仅仅会占用一个inode,因此文件系统能够新建的文件数量与inode数量有关
文件的block记录文件的实际数据,目录的block记录该目录下的文件名及其inode号码的对照表
日志 journal 文件系统会多出一块记录区,随时记载文件系统的主要活动,可加快系统恢复时间
Linux 文件系统为了增加性能,会让主存储器作为大量的磁盘高速缓存
硬连接 hard link 就是多了一个文件名对该 inode 号码的连接而已
符号连接 symbolic link 类似 windows 的快捷方式
磁盘的使用必须经过:分区,格式化,挂载。 分别常用的命令为: fdisk mkfs mount
开机自动挂载可以参考 /etc/fstab 的设置,设置完毕务必使用mount -a 测试语法是否正确