복붙의 함정, 디렉토리를 삭제할 수 없다?

매우 간단한 디렉토리 생성 명령어가 의도대로 동작하지 않고 실패했다. 왜 일까?

ls 명령어의 결과를 보면 알 수 있는데, 부모 디렉토리를 생성하는 -p 옵션이 동작하지 않고 디렉토리로 생성되어 버렸다. 그 다음으로 존재하지 않는 ~/docker/shared 디렉토리를 생성하려고 했으니 명령어가 실패한 것이다.

mkdir 명령어는 사실 어딘가에서 복사 붙여넣기 한 것인데, 이렇게 잘 못 생성된 디렉토리는 왠만해서 삭제가 되지 않는다.

rm -r "./-p"
rm -r -- "./-p"

그 이유는 -p에 붙어 있는 -가 ASCII가 아닌 Unicode U+2013이기 때문인데, 이를 삭제하려면 LC_ALL=C를 앞에 붙여서 임시로 Locale을 변경해 8진수로 표시되는 Unicode 값을 확인하고 그 이름으로 명령어를 입력 하면된다.

rm -r -- ''$'\342\200\223''p'