在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 {} \;
经过测试,以上方法绝对可用