내 홈 디렉토리의 사본은 어디에서 왔습니까?

내 홈 디렉토리의 사본은 어디에서 왔습니까?

저는 Ubuntu와 gphoto2를 사용하여 디지털 카메라를 제어하는 ​​프로젝트를 진행 중입니다. 한번은 프로젝트 폴더 /home/greg/project/~에서 새로운 "~" 디렉터리를 발견했습니다. 이 새로운 "~" 디렉터리에 들어가면 (예상대로) 내 홈 디렉터리인 /home/greg/로 돌아갑니다.

어떻게 이런 일이 발생했는지는 모르겠지만, 명령줄에서 gphoto2를 실행하고 출력 파일을 지정할 때 파일이 내 홈 디렉터리에 표시되기를 기대하면서 "~/filename.jpg"를 입력했지만 대신, bash는 작업 디렉토리에 새로운 "~" 디렉토리를 배치합니다. (실제로 그런 일이 일어났다면) 이런 일이 가능한지 몰랐습니다.

어떻게 거기까지 왔는지보다 더 중요한 것은 내가 어떻게 거기서 빠져나왔는지였습니다. 내가 아는 한 디렉토리를 삭제할 수 없습니다.내 홈 디렉토리. 심볼릭 링크는 아닌 것 같지만(적어도 ls -l 에 따르면) 이것이 정확히 무엇을 의미하는지 잘 모르겠습니다.

답변1

쉘 확장을 방지하려면 이를 인용해야 합니다.

ls ~    # list your home directory
ls "~"  # list the directory named ~
ls \~   # list the directory named ~

rmrmdir등등 과 같습니다. ~인용하거나 이스케이프 처리하지 않는 한 쉘은 이를 명령에 전달하기 전에 로 변경합니다 . /home/greg다음을 통해 볼 수 있습니다 echo.

anthony@Zia:~$ echo ~
/home/anthony
anthony@Zia:~$ echo \~
~

rm -Rf ~재앙이 되기 때문에 조심해야 합니다 . 의심스러운 경우 먼저 이름을 바꾸는 것이 좋습니다( ). 삭제하려는지 확인한 다음 삭제할 mv -i \~ newname수 있습니다 .newname

관련 정보