在linux下删除文件,遇到特殊字符是一件非常头疼的事情。
1. 如果文件名带 ‘-’ 或者‘--’这样的字符
删除办法为:rm -- 文件名
如文件名为:-pythontab.tgz
如果用普通方法去删除:rm -pythontab.tgz
结果错误:
rm: invalid option -- pythontab
Try `rm --help' for more information.
可以用:rm -- -pythontab.tgz
则能成功删除。
2. 删除包含其它特殊字符的文件
对于含有其它特殊字符的文件名,如<>!*等,可用
“”转义符或“”双引号引起控制
如名为“>”或“*”[root@test]# rm >
[root@test]# rm “*”
3. 删除系统打不出的乱码文件名(终极解决办法)
系统中有一个文件名全是乱码的文件,根本无从下手进行删除(系统打不出乱码符号),这时候我们可以使用inode号来删除之。[root@test]# ll -i
total 14694452
17956913 -rw-r--r-- 1 test test 4096 Nov 24 16:24 1?.txt
[root@test]# find . -inum 17956913 -exec rm {} \;
经过测试,以上方法绝对可用