Linux下使用inode删除文件具体方法

树叶云

inode包含很多的文件元信息,但不包含文件名,例如:字节数、属主UserID、属组GroupID、读写执行权限、时间戳等。而文件名存放在目录当中,但Linux系统内部不使用文件名,而是使用inode号码识别文件。对于系统来说文件名只是inode号码便于识别的别称,下面为大家分享一下Linux下使用inode删除文件具体方法。

如何找出文件的inode?

用stat 或者ls -il 。带有 -i 参数的ls命令,就是指显示文件的inode。

找到inode后,如何删除这个文件?

find . -inum [inode数字] -exec rm -i {} /;

1)下面我们完整实验一下,创建一个带特殊字符的文件:

cd /tmp

$ touch “/+Xy /+/8″

$ ls

2)尝试用rm命令删除

$ rm /+Xy /+/8

3)找出这个文件的inode数字

$ ls -il

342137 -rw-r–r– 1 tw tw 0 2008-11-20 08:57 /+Xy /+/8

4)342137就是我们要找的inode数字。下面用find命令删除它

$ find . -inum 342137 -exec rm -i {} /;

比如,你的系统中有”2008/11/20″这个文件,用rm是删除不了的。Linux不允许你建立这个文件,但是Windows下就可以。所以find配合inode的用处就在这里。

可以尝试用文件名加引号的方法删除文件。

比如 “–help”文件,可以用rm “–help”删除

也可以用unlink删除文件。

unlink命令调用unlink函数,可以删除一个特定文件。

用mtools删除Windows下创建的非法文件。

这种方法在find命令配合inode失效时,最为有用。专门对付autorun.inf病毒创建的文件夹。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/206273.html<

(0)
运维的头像运维
上一篇2025-04-08 00:21
下一篇 2025-04-08 00:22

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注