Linux 命令后 -- 的含义

Unix/Linux 下各种命令的参数,都是以 - (后面跟单字符参数,比如 -r) 或者 – (后面紧跟多字符参数,比如 –recursive)来表示。 在所有参数后面是文件名或者目录。大多情况下(文件名第一个字符不是 -)这样是没有任何问题的,但是如果文件名第一个字符是 - 时(比如 -myfile),命令就无法区分此时 -myfile 到底是文件名还是参数名。此时解决方法就是用 – 来表示命令参数结束了,后面哪怕是以 - 开头的字符串,也被当成文件名处理。

比如 rm -r – -mydir 就会递归的(-r)删除 -mydir 这个目录。