내 컴퓨터에서 설정하는 방식 때문에 다음을 수행합니다.
cd ~ # /work1/jleffler
cd ~jleffler # /u/jleffler
첫 번째는 환경 변수의 값에주의를 기울입니다 $HOME
. 일부러 $HOME
NFS 마운트 파일 시스템 대신 로컬 파일 시스템 으로 설정했습니다 . 두 번째는 암호 파일 (대략 NIS가 약간 복잡함)을 읽고 암호 파일에 내 홈 디렉토리가 있다고 표시 /u/jleffler
되고 해당 디렉토리로 변경됨을 발견합니다.
성가신 점은 대부분의 소프트웨어가 위와 같이 동작한다는 것입니다 (그리고 쉘에 대한 POSIX 사양에는이 동작이 필요합니다). 암호 파일의 정보를 $ HOME의 현재 값으로 취급하는 소프트웨어를 사용하고 있습니다 (사용할 선택의 여지가별로 없습니다).
이것을 질문에 적용하면-다른 사람들이 지적했듯이 ' cd ~x
'는 사용자 'x'의 홈 디렉토리로 이동하며 더 일반적으로 물결표 확장이 수행 될 때마다 ~x
사용자 'x'의 홈 디렉토리를 의미합니다 (오류입니다. 사용자 'x'가 존재하지 않는 경우).
다음을 언급 할 가치가 있습니다.
cd ~- # Change to previous directory ($OLDPWD)
cd ~+ # Change to current directory ($PWD)
~+
현재 디렉토리로 이어지는 경로에서 심볼릭 링크를 이동하는 이상한 일을하지 않는 한 ' '에 대한 용도를 즉시 찾을 수 없습니다 .
다음을 수행 할 수도 있습니다.
cd -
이는 ~-
.