Linux命令后双减号符(--)的含义

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

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