Linux文件系统

Linux文件系统可分为 inode    block  superblock
	inode table:存有inode,每个inode中记录了文件的元数据,可以通过stat命令查看文件的元数据
    data area:存有data
    元数据:文件的属性信息   大小  创建时间  权限
    surperblock:记录文件系统整体信息
    inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的资料所在的block 号码
     block:实际记录文件的内容,若文件太大时,会占用多个block 。

linux删除文件时device or resource bussy_硬链接


linux删除文件时device or resource bussy_硬链接_02

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使用 指定显示那个区域

linux删除文件时device or resource bussy_硬链接_03


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:打印最长行的长度
![在这里插入图片描述]()