目录中无意间出现了 -- 这个文件
[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命令是怎么处理的?
可以看下手冊
所以有兩種方法可以刪除
加上 -- 或 ./ 就可以刪除了
rm -rf -- --
--
對於大部分指令來說是用來標示指令自身參數的結束如
--
之前是指令本身的設定參數, 之後是指令將要作用的檔案、物件等參數當你只寫一個
--
就被當做分隔符了, 寫兩次, 第一個被當做分隔符,第二個就被當做命令參數了