Linux 服务器由于编码或者特殊字符等问题,可能会导致文件或者目录显示为乱码,并且无法正常删除。 本文介绍通过 inode 对相关文件进行删除的方法。
注意: 请确认相应文件可以删除,或者在操作之前已经进行了有效备份。
删除乱码目录
下面有一个乱码目录,如图:
可以通过如下步骤进行删除:
1. 查看该目录的inode码,命令为 ls -ldi ocs*,如图:
红框中的数字就是该目录的innode码了。
2. 删除该目录,命令为:rm -rf `find ./ -inum 1059660`, 如图:
3. 再次查看这个目录,发现已经删除了。如图:
删除乱码文件:
乱码文件如下图所示:
此时使用 rm 命令是输入不了乱码的文件加,复制粘贴也是不可以的:
可以使用查找文件 innode 节点的方式来删除文件。相关步骤如下:
1. 使用 ls -liaha 查看文件的 innode,如下图所示:
2. 可以看到乱码文件的 innode 节点 id 是 525203,之后可以使用 find 命令查找文件删除,命令为:
find . -inum id号 -exec rm {} -rf \;
使用 find 命令后,文件便可以删除了。乱码文件夹的删除也可以使用此方法,您可以自行尝试下。
更多信息
删除以 "-" 号开头的文件:
1. 在 Linux 服务器内,有时会创建出一些以参数符号“-”开头来命名的文件,如:
2. 当需要删除这类文件时, 会发现系统会将 “-” 符号认作命令标识,无法正常删除:
3. 此时可以通过如下的命令格式进行删除
rm -- --test
rm ./--test
同理创建的方法如下图: