网站管理员最怕的就是网站打不开,或者网站被攻击被挂马,一些被挂马文件名称被改成了乱码文件,普通情况下无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。那这种情况下如何删除或重命名乱码文件?

CentOS下删除或重命名乱码文件的方法

问题:centos里上次了一个中文文件,结果显示乱码了,怎么删都删不了。

解决办法:先查找文件的i节点,因为节点编号是唯一的,然后根据i节点再删除文件。

其实每个文件都有一个i节点,在linux中,i节点号是指inode号,用于识别不同的文件。节点编号是唯一的。所以我们可以通过i节点号来管理文件。

1、进入文件目录,获取文件的id号;

ls -i

文件名前的数据即为文件的节点编码

2、使用find命令查询并且删除

find -inum 547442352 -delete

把无法删除文件的问题解决了。也可以通过下面的指令来删除或重命名文件。

find . -inum 32983551 -exec rm {} \;
find . -inum 32983542 -exec mv {} test.php \;

在find命令中的“{}”表示find命令找到的文件,在-exec选项执行mv命令的时候,会利用按i节点号找到的文件名替换掉“{}”。