linux下利用inode(i节点号)删除指定文件

在Linux中,有时候会遇到文件名乱码或者存在某些特殊中文的文件,这时候难易通过文件名将它删除。此时,可以尝试使用Tab键进行命令补全或使用通配符来跳过/匹配特殊字符来使用常规方式将其删除。最佳的解决办法就是针对文件的inode来进行删除。

对于linux中的任何一个文件都必然有其唯一的inode值,这时候就可以通过inode来删除异常文件名的文件。

利用find命令来删除

find ./* -inum 1049741 -delete
//在当前目录下查找指定inode的文件,然后将其删除

直接删除,不会询问你确认删除。

利用find命令的-exec参数来调用rm命令

find ./* -inum 1049741 -exec rm -i {} \;
find会调用rm命令,此时,==rm会询问是否确认删除==。 
如果对rm命令添加-f参数,则强制删除,rm命令不会询问确认删除。

使用xargs配合find的结果进行删除

find ./* -inum 1049741 |xargs rm -f

linux下利用inode(i节点号)删除指定文件

你可能感兴趣的:(linux,rm,文件名,特殊字符,linux,删除)