Linux文件系统

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

inode block superblock

inode table

inode 元数据 block的存放地址

data area

data

元数据

文件的属性信息 大小 创建时间 权限

surperblock

记录文件系统整体信息

inode

总量 已使用 剩余

block

总量 已使用 剩余

磁盘索引块大小与磁盘数据块大小是一致的吗_linux

磁盘索引块大小与磁盘数据块大小是一致的吗_硬链接_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使用 指定显示那个区域

磁盘索引块大小与磁盘数据块大小是一致的吗_数据_03


磁盘索引块大小与磁盘数据块大小是一致的吗_硬链接_04

2、sort:用于字段排序

选项

功能

-f

忽略大小写

-b

忽略最前面的空白字符

-M

以月份名字排序

-n

以纯数字排序

-u

相邻数据去重

-r

反向排序

-t

指定排序分隔符

-k

执行区间

-o filename

将结果保存在filename中

磁盘索引块大小与磁盘数据块大小是一致的吗_linux_05

3、uniq:去除排序过的文件中重复的行

选项

功能

-c

标注出现的次数

-d

只输出重复的行

-D

显示所有重复行

-f

跳过前N列 列是通过空白分割

-i

忽略大小写

-s N

跳过前N个字符

-u

只显示唯一的行

-w N

每行的第N个字符之后不做对照

-z

使用’\0’作为行结束符,而不是新换行

磁盘索引块大小与磁盘数据块大小是一致的吗_源文件_06


磁盘索引块大小与磁盘数据块大小是一致的吗_数据_07

4、wc: word count

选项

功能

-c

统计字节数

-l

统计行数

-m

统计字符

-w

统计字数

-L

打印最长行的长度

磁盘索引块大小与磁盘数据块大小是一致的吗_linux_08