
StackOverflow 답변의 대부분은 그것이 cd
내장되어 있기 때문이라고 제안하지만 type cd
둘 type pwd
다 "쉘 내장"을 반환하고 sudo cd
"명령을 찾을 수 없음"만 반환합니다.
그래서 " 프로그램에서만 작동합니다" cd
라는 SO에 대한 많은 답변과 달리 특별한 경우로 처리됩니까 ?sudo
답변1
pwd
type pwd
쉘 내장( 쉘 내장임을 반환하는 이유)과 별도로 존재합니다.GNU 핵심 유틸리티. pwd
시스템에서 사용 중인 버전은 다음과 같습니다.GNU 핵심 유틸리티버전. 실행 파일이므로 sudo를 사용하여 실행할 수 있습니다. cd
쉘 내장 명령과는 다릅니다 .
이것을 직접 확인할 수 있습니다.
이 두 명령을 직접 입력하고 결과를 관찰하십시오. (시스템에 동일한 명령의 여러 버전이 있는 경우 which
명령을 입력하면 어떤 명령이 호출되는지 알려줍니다.)
which pwd
which cd
쉘 내장은 which
명령을 실행할 때 실행 파일에 대한 폴더 경로를 반환하지 않습니다. 다음은 내 시스템에서 두 명령의 출력 예입니다.
nate@linux:~> which pwd
/usr/bin/pwd
nate@linux:~> which cd
which: no cd in (/home/nate/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/home/nate/Scripts:/home/nate/Scripts)
답변2
pwd
어딘가에 실행 파일(try whereis pwd
) 이 있고 sudo
그것을 사용합니다.