Linux文件系统
- inode与block与superblock
-
superblock
- 记录此文件系统的整体信息,包括inode/block的总量,使用量,剩余情况以及文件系统格式及相关信息
dumpe2fs
指令,查询ext
家族的superblock信息
-
inode
-
Linux系统下每建立一个目录,就会分配一个inode与至少一块block(通常每个目录还包含
./
../
目录实际inode为目录数+2)- 其中,inode记录该目录的属性与权限,
- block记录该目录下的文件名以及该文件的inode号码
-
记录文件属性
user,group,others
与文件权限rwx
以及block
信息 -
一个文件占用一个inode,占用的大小为4bytes,一个inode大小为256bytes(ext4/xfs),同时记录此文件所在的block号码
-
-
block
- 记录文件实际内容,若文件太大,会占用多个block
- 区块大小1kb,2kb,4kb,原则上,block大小和数量在格式化后就确定了(除非重新格式化)
- 每个文件占用一个block,文件过小,则block中剩余的空间也不会再使用(区块浪费)
-
创建目录
- 会分配
1个inode
与至少1个block
,查看目录的inode
号码使用ls -li
- 会分配
-
创建文件
- 创建一个文件,ext2会分配
1个inode
与相对于该文件大小的block
,由于inode 只有12个直接指向
所以创建过大的文件时,还需要至少1个block 来作为区块号码记录
- 创建一个文件,ext2会分配
- filesystem
- ext2文件系统由三部分组成
- boot sector
- Block Group(多个)
- Block Group组成
-
superblock(1024bytes)
- block与innode的总量
- 未使用与已使用的inode/block总量
- block与inode的大小
- filesystem的挂载时间,最近一次写入时间,最近一次检验时间(fsck)
- 一个
valid bid
数值,挂载(0),为挂载(1)
-
filesystem Description(文件系统对照表)
- 描述每个
block group
开始与结束的block号码,以及说明每个区段(superblock,bitmap,inodemap,date block)分别介于哪一个block号码之间
- 描述每个
-
block bitmap(区块对照表)
记录使用与未使用的block号码
。添加文件,block bitmap可以找到哪个block是空的;删除文件,block bitmap会释放block的空间
-
inode bitmap(inode 对照表)
记录使用与未使用的inode号码
-
date block(资料区块)
-
inode table
- Dos与Linux段行符
分类 | 说明 |
---|---|
Dos | ^M$,CRLF |
Linux | $,LF |
-
Windows系统文件换行比Linux多了一个
^M
,所以Linux读取Windows文件需要转换,Windows读取Linux也需要转换- 安装软件
dos2unix
- dos2unix [-kn] file [newfile]
- unix2dos [-kn] file [newfile]
aur/hd2u
- 安装软件
- 查询当前tty环境的快捷键命令
stty -a