Linux删除特殊字符文件

由于很多原因可能会导致一些文件的文件名是乱码,当我们删除的时候就会发现这个文件名既不能自动补全,也不能直接删除。

1.删除带“-”的文件名的方法
使用– (2个横杠)
#touch — -%F-%T
#rm — -%F-%T
rm: remove regular empty file `-%F-%T’?
使用绝对路径并TAB特殊文件名
#rm /root/-%F-%T
rm: remove regular empty file `/root/-%F-%T’?
 
2. 删除包含其它特殊字符的文件
对于含有其它特殊字符的文件名,如<>!*等,
可用
“”转义符\或“”双引号
 
#touch “>123file”
#rm “>123file”
rm: remove regular empty file `>123file’?
 
#touch ‘!rul4’
#rm \!rul4 如果在此处使用TAB键系统将会自动帮你调整为正确删除的语法。
rm: remove regular empty file `!rul4′?
 
3.删除系统打不出的乱码文件名
先使用ls -i 查到文件的inode,然后用find命令删除
#ls -ilrt
 100985 -rw-r–r–  1 tbcs      users            0 Apr 18 11:32 -MXV9.log
最前面一列的100985就是文件的inode,在主机上执行如下命令即可删除文件
# find ./ -inum 100985 -exec rm {} \;
 
以上方法可以灵活使用,第3种方法更强大,涉及到文件存放原理了。
 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88279

(0)
上一篇 2017-11-09 17:36
下一篇 2017-11-11 16:04

相关推荐