이것은 매우 사소한 일입니다. mkdir ~root/.ssh
왜 mkdir /root/.ssh
? 작성자가 디렉터리를 mkdir ~root/.ssh
생성하는 데 사용하는 다음 docker 파일을 보고 있습니다 ..ssh
https://github.com/macropin/docker-sshd/blob/master/Dockerfile
다른 것보다 장점이 있습니까? 처음에 그것에 대해 읽었을 때 나는 ~root
그것이 /rootroot
.
답변1
~USER
사용자 홈 디렉토리의 약어입니다 USER
. 일반 사용자의 경우 일반적으로 yes /home/USER
이지만 루트 사용자의 경우 일반적으로 yes 입니다 /root
.
귀하의 질문이 다른 질문보다 나은지 여부에 관해서는 유일한 차이점은 홈 디렉토리가 확장 프로세스를 거치지 않고 절대 경로가 아닌 ~root
루트로 동적으로 확장된다는 것입니다 . /root
원하는 것은 특정 사용 사례에 따라 다릅니다. 루트의 홈 디렉토리가 root 이외의 위치에 있는 시스템에서 스크립트를 실행하려면 /root
사용 하십시오 ~root
. /root
항상 절대 경로를 사용 하려면 를 사용하세요 /root
.
현실적으로 대부분의 경우 아무런 차이가 없어야 합니다. 하지만 개인적으로 /root
스크립트가 루트의 홈 디렉터리가 존재하지 않는 시스템에서 실행될 것으로 예상할 이유가 없는 한 사용하는 것이 더 안전하다고 생각합니다 /root
.
답변2
"~" 기호는 홈 디렉토리를 참조하는 데 사용할 수 있는 특수 단축키 문자입니다.
~root
root
즉, 로그인한 사용자의 홈 디렉토리 /root
를 나타내며
~
이를 사용 하는 경우 홈 디렉토리를 ~user
반환합니다 .user
답변3
분명한 이점이 있습니다 mkdir ~root/.ssh
. mkdir/root/.ssh
전자는 ~root
루트 사용자에게 유연하게 확장될 수 있습니다.실제메인 디렉토리. 루트 사용자의 홈 디렉터리를 /root2나 /home/root 또는 /root 이외의 다른 디렉터리로 설정하려면 어떻게 해야 합니까?
답변4
다른 답변에서 이미 언급했듯이 새 디렉터리를 만들려는 위치에 따라 다릅니다. "mkdir /root/.ssh" 형식은 해당 절대 경로에 이를 명시적으로 생성합니다(/root 디렉토리가 이미 존재하고 다른 오류가 없다고 가정). 그러나 일반적으로 ssh에 필요한 정보를 저장하는 데 사용되는 .ssh 디렉터리를 만들려고 하므로 "mkdir ~root/.ssh"의 다른 형식을 선호해야 한다고 생각합니다. 기타 오류) ssh 명령이 예상하는 정확한 위치, 즉 루트 사용자의 홈 디렉토리(파일 시스템의 정확한 위치)에 새 디렉토리 .ssh를 생성하며 일반적으로 항상 /root일 필요는 없습니다.