예를 들어 리눅스에 있는 파일 이름이 다음과 같다고 하자.

$ ls -la
합계 8
-rw-rw-r--  1 cublr cublr    0  5월 11 20:48 -TEST
-rw-rw-r--  1 cublr cublr    0  5월 11 20:48 -X
-rw-rw-r--  1 cublr cublr    0  5월 11 20:48 -rf
drwxrwxr-x  2 cublr cublr 4096  5월 11 20:48 .
drwxr-xr-x 44 cublr cublr 4096  5월 11 20:48 ..

만약 이 파일을 지우려 하면 어떻게 할 수 있을까?

$ rm -X
rm: 부적절한 옵션 -- 'X'
Try 'rm ./-X' to remove the file '-X'.
Try 'rm --help' for more information.

$ rm \-X
rm: 부적절한 옵션 -- 'X'
Try 'rm ./-X' to remove the file '-X'.
Try 'rm --help' for more information.

이렇게 -X는 파일명이 아니라 rm의 파라미터로 인식하게 된다. 꼭 rm뿐만이 아니라도 이런 식으로 인자를 선택함에 있어서 파라미터로 인식되어 원하는대로 동작하지 않는 경우가 발생하게 되는데, -- 를 통해 이를 해결할 수 있다.

$ rm -- -X
$ rm -- -TEST
$ rm -- -rf  
$ ls -la
합계 8
drwxrwxr-x  2 cublr cublr 4096  5월 11 20:52 .
drwxr-xr-x 44 cublr cublr 4096  5월 11 20:52 ..

--는 명령어에 더 이상의 파라미터는 없음을 알려준다.