分页: 1 / 1

咋删除用-(减号)开头的文件?

发表于 : 2013-04-07 20:11
unreal
这几天安装测试了若干PHP软件,有些软件带有中文文件名的文档,比如 说明.txt ,有个软件不能安装在子目录,结果一个没留神就把这样的文件释放到 www根目录了……
现在 ls 就能看到一个 -?+?.txt 的文件,麻烦来了 :( UNIX shell 的世界里 - 是神符号,无论 \ " ' 都无法使其转义 ,这文件我用 rm 删不掉。以前也出这样的问题,但是都在下级目录,每次都 rm -rf 直接砍掉该目录来解决;这回我不能砍掉 ../htdocs。在下白菜,求高人支招!

Re: 咋删除用-(减号)开头的文件?

发表于 : 2013-04-08 7:22
acheng
试试下面几种方法:
1. rm + 完整路径
2. rm -- +文件名
3. 使用ls -i 拿到文件的inode号码,然后find . -inum inode号码 -exec rm {} \;

Re: 咋删除用-(减号)开头的文件?

发表于 : 2013-04-08 13:21
livemoon
rm ./-?+?.txt就可以了

发表于 : 2013-04-08 18:16
unreal
谢谢 acheng 和 livemoon 两位兄弟指点迷津!
acheng兄的第1法和 livemoon兄的办法是一样有效!acheng兄的第2、第3法,我再弄个 减号文件来试试~

发表于 : 2013-04-08 18:32
unreal
用 cat /etc/hosts > -qw 随便制造几个减号文件,用acheng兄 的第二和第三法都有效!

Re: 咋删除用-(减号)开头的文件?

发表于 : 2014-06-20 18:33
openbsdsir008
说到如何删除,我想问一下,如何创建以“-“开头的文件或目录?

我试了一下,使用绝对路径是没有问题的