linux下利用inode删除文件

由于 linux下中文编码和在Windows中的中文编码可能不同,在一定的条件下,linux的文件夹可能会存在乱码的情况
就算一些乱七八糟的字符。如问号的文件名,这样的文件使用rm 无法删除。

 删除目录中? 和 ?.sa?的2个文件,先查看inode

 使用 find 命令 -delete 删除 inode 为16777289的文件

find ./* -inum 16777289 -delete

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

find会调用rm命令,此时,会询问是否确认删除。 如果对rm命令添加-f参数,则强制删除,rm命令不会询问确认删除。

find ./* -inum 18195738 -exec rm -i {} ;
find ./* -inum 18195738 |xargs rm -f

 重命名操作

find ./* -inum 18195738 -exec mv {} new_name ;


作者:Outsrkem
出处:https://www.cnblogs.com/outsrkem/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/outsrkem/p/14598697.html