기본적으로 ~
다음 값이 지정됩니다./home/username/
즉, 명령을 사용하면 cd ~
해당 디렉토리로 이동합니다./home/username/
해당 값을 /home/username/filename과 같은 다른 파일로 변경하는 방법은 무엇입니까?
나는 이것이 위험할 수 있다는 것을 알고 있습니다. 하지만 저는 CTF 작업을 하고 있으므로 괜찮습니다.
답변1
물결표(~)는 쉘에서 의 짧은 형식으로 해석됩니다
$HOME
.다음 명령을 시도해 보십시오:
echo ~ HOME=foo echo ~
이것은 먼저 실제 홈 디렉토리를 인쇄한 다음 $HOME`을 설정한 "foo"를 인쇄해야 합니다.
기본값은
$HOME
시스템 구성에서 나옵니다.getent passwd
알려진 모든 사용자와 해당 홈 디렉터리를 나열하는 데 사용됩니다 . 시스템 구성에 따라 해당 항목은/etc/passwd
원격 디렉터리 서비스에서 제공될 수 있습니다.홈 디렉토리를 일시적으로만 재정의하려면 다른
$HOME
.영구적으로 변경하려면 passwd 항목을 수동으로 편집하여 변경해야 합니다
/etc/passwd
.
답변2
$HOME
물결표( ~
)는 의 축약형이므로 변수 를 변경해 보거나 $HOME
에서 사용자의 홈 디렉터리를 변경해 보지만 /etc/passwd
이는 권장되지 않습니다.
왜 당신은 만들려고 노력하지 않는가?별명다음과 같은 경우 cd /home/username/filename
:
alias documents='cd ~/Documents'
이제 입력하면 documents
다음과 같이 변경됩니다./home/user/Documents
자세한 내용은man alias
.
해당 별칭을 영구적으로 만들려면이 질문을 확인하세요.