利用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删除目录动图

猜你喜欢

转载自blog.csdn.net/VoiceRoom/article/details/107685134
今日推荐