目录中无意间出现了 -- 这个文件
[root@dev tmp]# ls
-- 00 01 02 03 04 05 06 07 08 09
[root@dev tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Oct 23 15:31 --
-rw-r--r-- 1 root root 0 Oct 23 15:37 00
-rw-r--r-- 1 root root 0 Oct 23 15:37 01
-rw-r--r-- 1 root root 0 Oct 23 15:37 02
-rw-r--r-- 1 root root 0 Oct 23 15:37 03
-rw-r--r-- 1 root root 0 Oct 23 15:37 04
-rw-r--r-- 1 root root 0 Oct 23 15:37 05
-rw-r--r-- 1 root root 0 Oct 23 15:37 06
-rw-r--r-- 1 root root 0 Oct 23 15:37 07
-rw-r--r-- 1 root root 0 Oct 23 15:37 08
-rw-r--r-- 1 root root 0 Oct 23 15:37 09
怎么删都无法删除
[root@dev tmp]# rm -rf *
[root@dev tmp]# ll
total 0
-rw-r--r-- 1 root root 0 Oct 23 15:31 --
甚至是rm -rf
[root@dev tmp]# rm -rf \-\- && ll
total 0
-rw-r--r-- 1 root root 0 Oct 23 15:31 --
[root@dev tmp]# rm -rf \\-\\- && ll
total 0
-rw-r--r-- 1 root root 0 Oct 23 15:31 --
[root@dev tmp]# mv -- xx
mv: missing destination file operand after `xx'
Try `mv --help' for more information.
[root@dev tmp]# mv \-\- xx
mv: missing destination file operand after `xx'
Try `mv --help' for more information.
为什么这样的字符无法删掉、rm命令是怎么处理的?
[root@cc tmp]# rm --help
To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to recover
the contents of that file. If you want more assurance that the contents are
truly unrecoverable, consider using shred.
所以有两种方法可以删除
加上 -- 或者 ./ 就可以删除了
[root@cc tmp]# rm -rf -- --
[root@cc tmp]# rm -rf ./--
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。