利用inode删除文件或者目录

在Linux系统中,当遇到文件或目录名包含不规则字符难以直接删除时,可以利用inode编号来实现删除操作。首先通过`ls -i`获取目标文件或目录的inode号,然后使用`find`命令结合`rm`进行删除,如`find . -inum <inode_number> -exec rm -i {} ;`。这种方法适用于删除特定inode对应的文件或目录。

当linux文件系统中有目录或者文件名为不规则字符时,我们可以通过该文件的inode number删除次文件或者目录

对于inode的理解请参考理解inode

 

删除文件

获取要删除文件的inode number

比如我们要删除 /root/目录下某个名称为不规则字符的文件

首先进入/root 目录下

cd /root

由于无法直接写出此文件的名称,故列出root目录下所有文件的inode

ls -i

要删除的文件前面的数字为该文件的inode  例如我们删除/root/nohup.out 文件,则记录该文件的inode number为100823907

通过获取到的inode删除inode对应的文件

在/root(要删除的文件所在目录) 目录下执行以下命令,然后输入y确认删除,再次查看时inode number为100823907 的nohup.out文件已经被删除。

find . -inum 100823907 -exec rm -i {} \;

通过inode删除文件动图

删除目录

获取要删除目录的inode number

比如我们要删除 /root/目录下某个名称为不规则字符的目录

首先进入/root 目录下

cd /root

由于无法直接写出此文件的名称,故列出root目录下所有文件以及目录的inode

ls -i

要删除的目录前面的数字为该文件的inode  例如我们删除/root/out 目录,则记录该文件的inode number为39066994

通过获取到的inode删除inode对应的目录

在/root(要删除的目录所在目录) 目录下执行以下命令,虽然报文件不存在,但是再次查看时(ls -i /root)inode number为39066994的out目录已经被删除。

find . -inum 39066994 -exec rm -r {} \;

通过inode删除目录动图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值