rm -rf *를 수행할 때 . 및 ..을(를) 제거하면 어떨까요?

rm -rf *를 수행할 때 . 및 ..을(를) 제거하면 어떨까요?

그냥 궁금해서요. 거기 구급차가 있나요? . 그리고.. 우리가 삭제하려는 디렉터리의 "하위 디렉터리"가 맞죠?

나는 그것이 하위 디렉토리가 아니라는 것을 알고 있지만 Linux는 그것을 디렉토리 속성을 가진 파일로 취급합니다.

답변1

의 일부가 아니라 rm셸의 일부입니다. 쉘이 확장하여 인수로 전달하는 glob입니다 *(glob이 아무것도 일치하지 않는 한 리터럴은 표시되지 않으며, 이 경우 리터럴이 전달됩니다). 표준 glob은 및를 포함하여 점으로 시작하는 파일 이름을 포함하도록 확장되지 않습니다. 예를 들어:rmrm***...

$ tee foo bar baz .foo .bar .baz < /dev/null
$ echo *
bar baz foo
$ echo .*
. .. .bar .baz .foo

관련 정보