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

OpenBSD的安装、升级、更新等日常问题。

版主: chenjun天地乾坤

回复
头像
unreal
银 Ag
帖子: 1072
注册时间: 2010-06-07 18:52

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

帖子 unreal » 2013-04-07 20:11

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

头像
acheng
锌 Zn
帖子: 581
注册时间: 2011-07-07 21:52

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

帖子 acheng » 2013-04-08 7:22

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

livemoon
铁 Fe
帖子: 61
注册时间: 2013-04-06 16:24

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

帖子 livemoon » 2013-04-08 13:21

rm ./-?+?.txt就可以了

头像
unreal
银 Ag
帖子: 1072
注册时间: 2010-06-07 18:52

帖子 unreal » 2013-04-08 18:16

谢谢 acheng 和 livemoon 两位兄弟指点迷津!
acheng兄的第1法和 livemoon兄的办法是一样有效!acheng兄的第2、第3法,我再弄个 减号文件来试试~

头像
unreal
银 Ag
帖子: 1072
注册时间: 2010-06-07 18:52

帖子 unreal » 2013-04-08 18:32

用 cat /etc/hosts > -qw 随便制造几个减号文件,用acheng兄 的第二和第三法都有效!

openbsdsir008
铁 Fe
帖子: 80
注册时间: 2014-03-20 16:19

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

帖子 openbsdsir008 » 2014-06-20 18:33

说到如何删除,我想问一下,如何创建以“-“开头的文件或目录?

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

回复

在线用户

正浏览此版面之用户: Ahrefs [Bot] 和 11 访客