本节内容:关于inode 、block、superblock的基础知识;文件删除原理;文件处理工具

一、Linux文件系统 ( inode block superblock)

linux文件系统简单分为inode table和date area

inode: 存放元数据 (元数据:文件的属性信息 大小 创建时间 权限)
block:存放实际数据
surperblock:记录文件系统整体信息( inode 与block的总量 已使用 剩余)

小文件问题:可能会使inode耗尽,使得文件文法创建。(磁盘利用率低)—>对于小文件比较多的场景,将block划分小一点。
大文件问题:一个文件占用多个block,使得文件读写速率慢---->将block划分大一点。
在这里插入图片描述
inode中包含文件的元数据,用stat命令查看文件元数据

	 [root@nebula ~]# stat anaconda-ks.cfg
 File: "anaconda-ks.cfg"
 		 Size: 939             Blocks: 8          IO Block: 4096   regular file 
		Device: 802h/2050d      Inode: 142230      Links: 1
		Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
		Access: 2020-02-12 03:32:02.709999481 +0800
		Modify: 2020-02-12 03:32:03.369999480 +0800
		Change: 2020-02-12 03:32:10.259999474 +0800
blocks:占用磁盘块数
IO block:IO块的大小
device;所在设备
Access: (0600/-rw-------) :访问权限

二、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:打印最长行的长度

在这里插入图片描述
在这里插入图片描述

Logo

更多推荐