根据inode删除文件
参考:https://blog.csdn.net/smilejiasmile/article/details/121162741
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
可以使用stat命令查看文件的inode信息
root@hong:~/test# stat 2.txt File: 2.txt Size: 6 Blocks: 8 IO Block: 4096 regular file Device: fc01h/64513d Inode: 723814 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2023-05-17 13:34:36.348743731 +0800 Modify: 2023-05-17 13:34:36.348743731 +0800 Change: 2023-05-17 13:34:36.348743731 +0800 Birth: -
一般操作系统分配的 inode
数量是完全够用的,但出于一些程序或人为的意外可能会导致操作系统的 inode
溢出,查看系统分区下 inode
的使用情况
root@hong:~/test# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on udev 109K 418 108K 1% /dev tmpfs 115K 637 115K 1% /run /dev/vda1 2.5M 521K 2.0M 21% / tmpfs 115K 2 115K 1% /dev/shm tmpfs 115K 2 115K 1% /run/lock tmpfs 115K 18 115K 1% /sys/fs/cgroup overlay 2.5M 521K 2.0M 21% /var/lib/docker/overlay2/e8a2c8d70f99b0ed6466c960a591d2e8e030f5a83d7d12893ba77697d0881830/merged tmpfs 115K 21 115K 1% /run/user/0
有时候文件名太复杂不好删除,可以通过inode的方式删除
root@hong:~/test# ls -i 723814 2.txt root@hong:~/test# find ./ -inum 723814 | xargs rm
或者使用find ./ -inum 723814 -delete
努力生活,融于自然