Linux文件系统
Linux文件系统可分为 inode block superblock
inode table:存有inode,每个inode中记录了文件的元数据,可以通过stat命令查看文件的元数据
data area:存有data
元数据:文件的属性信息 大小 创建时间 权限
surperblock:记录文件系统整体信息
inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的资料所在的block 号码
block:实际记录文件的内容,若文件太大时,会占用多个block 。
Linux文件系统删除原理
硬链接:
具有相同INode节点号的文件互为硬链接文件
删除硬链接文件或者删除源文件任意一个,文件数据实际并未删除
只有删除源文件以及所对应的所有硬链接文件,文件数据才被删除,同时释放磁盘空间
硬链接文件是文件的另一个入口
可以通过设置硬链接文件防止误删
软链接:(符号链接)
类似于windows上的快捷方式
软连接文件类似一个文本文件,存放的是源文件的路径
删除源文件,链接文件依然存在,但是无法指向源文件
软连接文件和源文件是不同类型的文件,也是不同的文件,inode号也不同
rm可以直接删除
目录链接
对于目录来说,只能创建软连接
每一个目录下都有硬链接 . ..
对于父目录来说,子目录都会有指向父目录的链接 父目录链接数+1
i_count i_nlink:文件链接计数器
i_count:当前文件被调用的次数 内存引用计数器
i_nlink:链接的数量 硬链接的数量 磁盘引用计数器
文件删除:i_count和i_nlink同时为0时,代表删除
linux文件处理工具
1、cut:数据切割
1、字节
2、字符
3、区域
-b:以字节为单位进行分割
-c:以字符为单位
-d:指定分隔符 默认是tab
-f:配合-d使用 指定显示那个区域
2、sort:用于字段排序
-f:忽略大小写
-b:忽略最前面的空白字符
-M:以月份名字排序
-n:以纯数字排序
-u:相邻数据去重
-r:反向排序
-t:指定排序分隔符
-k:执行区间
-o filename:将结果保存在filename中
3、uniq:去除排序过的文件中重复的行
-c:标注出现的次数
-d:只输出重复的行
-D:显示所有重复行
-f:跳过前N列 列是通过空白分割
-i:忽略大小写
-s N:跳过前N个字符
-u:只显示唯一的行
-w N:每行的第N个字符之后不做对照
-z:使用’\0’作为行结束符,而不是新换行
![在这里插入图片描述]()
4、wc: word count
-c:统计字节数
-l:统计行数
-m:统计字符
-w:统计字数
-L:打印最长行的长度
![在这里插入图片描述]()