[완료] 명령어 CD의 위치를 알고싶습니다!.
글쓴이: sia79 / 작성시간: 화, 2007/03/06 - 1:55오후
저는 얼마전에 페도라 6을 설치완료했습니다. 각 디렉토리를 살펴보았습니다.
명령어 ls는 /bin에 있더군요.
그런데, 흔하게 사용하는 cd 명령어가 안보입니다. 여기저기 찾아보아도 못 찾겠습니다.
하물며 루트로 find / -name cd 를 쳐도 보이지 않습니다.
별것 아닌 것같은데, 궁금해 죽겠습니다. 설마 없는 파일이 암묵적으로 실행되고 있는 것은 아니겠지요.
위치를 가르쳐주세요.
Forums:
shell builtin command
shell builtin command 입니다.
답변 감사합니다.
쉘 내부 명령어라서 찾을 수가 없는 것이군요.
왜 그것만 쉘 내부 명령어인지 궁금하네요...
필연적입니다.
ls 같은 명령은 셸이 하고싶다면 내부적으로 지원해도 별 문제가 없으니 순전 취향(?)의 문제지만, cd는 외부 프로그램으로 지원하는 게 불가능해서 내부 명령어가 있어야만 합니다.
왜냐하면 cd 명령어의 역할이 "현재 나의 디렉토리"를 바꾸는 것이니까요. UNIX 및 유사 시스템에서 "현재 디렉토리"는 프로세스 단위로 관리되는데, cd가 외부 명령어라면 cd를 불러도 얘가 (= cd 프로세스) 자기 디렉토리를 바꾼 담에 exit하면 얘의 프로세스 정보는 그냥 날아가니까 도로아미타불이 됩니다. cd를 부른 프로세스 (여기서는 셸) 의 디렉토리는 바뀌지 않습니다.
간단한 예제로 shell이 fork하여 다른 shell process를 실행시키는 () 명령을 사용해 보면 알 수 있습니다.
앞의 건 동작하지만 뒤의 건 동작하지 않습니다. 왜일까요? :)
재미로:
답변 감사합니다.
아~, 알겠습니다. 고맙습니다. 재밌네요.
그런 경우에 whatis,
그런 경우에 whatis, which 명령을 사용하시면 도움이 됩니다.
whatis cd
which cd
--
마잇
--
마잇
답변 감사합니다.
재미있는거 유용한거 알려줘서 고맙습니다.
그런데, cd 가 1p로 나와있는데 여기서 p는 무슨 의미인가요?
댓글 달기