Linux文件系统 inode block superblock

Linux文件系统

文件储存在硬盘中,硬盘的最小存储单位是扇区(sector),每个扇区的大小为512字节(0.5KB)。
当硬盘读取文件时不会一个扇区一个扇区的读取,那样效率太低,而是一次读取多个扇区,也就是一个块(block),这样由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个块。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

inode block superblock
inode tableinode 元数据 block的存放地址
data areadata
元数据文件的属性信息 大小 创建时间 权限
surperblock记录文件系统整体信息
inode总量 已使用 剩余
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打印最长行的长度

在这里插入图片描述

出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.csdn.net/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值