Linux 터미널에 cd --를 입력했는데 내가 인식하지 못하는 디렉터리로 이동했습니다. CD - 어디로 갈까요? 루트 디렉터리인가요?
답변1
인수가 제공되지 않을 때 기본 동작은 cd
변수가 제공하는 디렉터리로 이동하는 것입니다 $HOME
. 이것은POSIX에 의해 시행됨:
디렉토리 피연산자가 제공되지 않고 HOME 환경 변수가 비어 있거나 정의되지 않은 경우 기본 동작은 구현에 따라 정의되며 추가 단계를 수행해서는 안 됩니다.
그것은--
또한 POSIX 기능많은 도구에서는 이를 사용하여 옵션의 끝을 나타냅니다. 이는 -
예를 들어 다음과 같이 시작하는 이름으로 작업하는 데 유용합니다. 예를 들어, 이 디렉토리에는 다음과 같은 디렉토리가 있습니다 -a
.
$ ls
-a
이 작업을 수행 하려고 하면 다음과 같은 결과를 cat
얻습니다.
$ cat -a
cat: invalid option -- 'a'
Try 'cat --help' for more information.
--
이것이 들어오는 곳 입니다 :
$ cat -- -a
These are the contents of file -a!
따라서 귀하의 예에서는 인수의 끝을 나타내기 위해 cd
실행을 따르는 것입니다. 이는 인수 없이 실행되는 것으로 해석됩니다. 그 결과 마치 혼자 달리는 것처럼 자신의 영역에 들어가게 되고 , 이미 그 안에 있다면 아무 것도 변하지 않은 것처럼 보입니다. $ grep foo -a--
cd
$HOME
cd
$HOME
후자가 더 명확한 오류를 제공하기 때문에 실제로 cd --
대신 실행했다고 가정합니다 .cd--
$ cd--
bash: cd--: command not found
자신만의 스크립트나 기능이 없다면 cd--
우리는 무슨 일이 일어나고 있는지 알 수 없지만 알 수는 있습니다.
답변2
다음 명령을 사용하여 디렉터리를 변경할 수 있어야 합니다.cd /path/
도움이 될 만한 온라인 토론을 찾았습니다.https://askubuntu.com/questions/711390/what-does-cd-do-i-used-it-and-im-now-stuck-in-a-directory
답변3
CD는 디렉토리를 변경합니다. 디렉토리를 종료하려면 다음을 입력 cd ..
하고 Enter를 누르십시오.
그냥 입력했다면 cd --
디렉토리를 전혀 변경하지 않았을 것입니다.
이게 도움이 되길 바란다.