Linux学习笔记(文件系统)

文件系统

常见的文件系统类型

EXT系列1-4,现在EXT3,EXT4X到现在依然有很多服务器在使用

XFS是centos7及之后的版本一直在使用的文件系统

查询文件系统类型的方法

df -T

cat /etc/fstab

parted -l

blkid

lsblk -f

文件系统基础概念

扇区(sector):是磁盘的最小存储单位,通常有512字节

块(block):是文件的最小存储单位,一个块通常跨越8个扇区,也就是4KB大小

操作系统在读取文件时,是按块来读取的,一个块里只能对应一个文件,一个文件可以对应一个或多个块

操作系统读取文件的流程

1、操作系统通过文件名找到文件的inode编码

2、再通过inode编码找到存储这个文件的块

3、读取块中的数据返回到终端

inode编码的查询方法

ls -i 文件名

stat 文件名

inode编码的特性

1、每个inode节点的大小通常是128字节或256字节,inode的总数在格式化时就给定了,一般1KB或2KB就有一个inode

查看inode的总数和使用情况用df -i 命令

2、重命名或移动文件时inode编码不变

inode编码的特殊用法

1、可以通过inode编码删除无法正常删除的文件,

find -inum inode编码 -delete

2、可以通过同一个文件名不同inode编码实现平滑的更新,因为系统是通过inode编码识别运行中的程序,而不是通过文件名,更新的时候,新文件与旧文件同名,但是生成了新的inode编码,这样不会影响旧文件的运行,在下一次运行这个文件的时候,文件名就会自动指向新文件的inode,旧文件的inode被回收

挂载

挂载类似于 windows 的光驱加载镜像,会在 windows 系统中产生一个分区,这个镜像的内容 会放在这个分区进行访问。 Linux 的挂载是类似的概念,也就是说将设备通过挂载实现在 Linux 文件系统中访问,挂载 后操作都是仅限于这个挂载点使用。

命令:mount 名称 目录

解决inode爆满的方法

inode爆满就是磁盘空间还有很多但是却不能创建文件,会提示磁盘无空间。其原因就是有太多的小文件或者空文件占用了inode,使inode编码的数量被耗尽,解决方法就是把这些无用的小文件或者空文件删除。

如果要删除的文件过多,rm -f是不能实现的,例如:

要删除file1.txt到file200000.txt

find ./ -name "file*" | xargs rm -f

要删除30天以前的所有文件

find ./ -come +30 -name "*" | xargs rm -f

硬链接

inode相同,文件名不同的文件,这样的文件称为硬链接文件

特点:每个文件都是独立的,删除期中一个文件不会影响到其他文件,要向彻底删除硬链接文件,要把同一个inode对应的所有文件全部删除

创建硬链接文件的命令:ln 源文件 硬链接文件

软连接

类似于Windows系统下的快捷方式,它的inode和文件名于源文件都不一样,但是内容一样

特点:删除软连接文件对源文件没有影响,删除源文件软连接文件无法打开

创软链接命令是:ln -s 源文件 软链接文件

删除文件的原理

Linux是通过控制link的数量来删除文件的

文件一般有两个link:i_nlink(磁盘引用计数器)和i_count(内存引用计数器)

当文件不存在任何link时,也就是文件的i_nlink和i_count数量都为零式,文件才会被删除

rm命令其实是删除了文件的所有i_nlink数量,如果在执行rm命令删除一个文件之前,有进程调用了这个文件,在执行rm命令后文件不会被真正的删除(磁盘空间没有释放),因为rm命令只删除了文件的所有i_nlink数量,没有删除i_count,需要再把调用了这个文件的所有进程终止,也就是删除所有i_count数量,才能真正的删除这个文件(成功释放磁盘空间)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值