파일이 있으면 인쇄합니다 one.txt
.~/Documents
cd ~/Documents
realpath one.txt
~/Documents/one.txt
.
하지만 다른 디렉터리에 있는 파일의 경로를 인쇄하려면 어떻게 해야 할까요? 예를 들어, cd a/b
디렉토리에 파일이 있는데 이를 명령에 전달하여 절대 경로를 인쇄하는 방법은 무엇입니까?two.txt
a2/b2
two.txt
two.txt
realpath two.txt
다른 디렉토리에서 비슷한 작업을 수행 하고 싶습니다 .
답변1
realpath
현재 디렉토리에 대한 상대 경로를 제공하십시오 .
$ pwd
/home/myself/local/build/shell-toolbox
$ realpath ../../../.profile
/home/myself/.profile
파일이 어디에 있는지 묻지 않으면 GNU realpath
유틸리티는 내 파일을 찾을 수 없거나 파일의 절대 경로를 생성할 수 없습니다. .profile
귀하의 경우에는 이름이 지정된 파일이 얼마든지 있을 수 있으므로 two.txt
파일 realpath
에 절대 경로 이름을 제공하려면 최소한 현재 디렉터리에 대한 상대 경로를 제공해야 합니다.
Unix 파일 시스템에서 파일은 다음과 같이 고유하게 식별됩니다.경로명(상대적 또는 절대적). ㅏ파일 이름현재 디렉터리에 있는 파일 중 하나가 아닌 다른 파일을 고유하게 식별할 수 없습니다.
two.txt
홈 디렉토리 또는 그 아래에서 호출되는 모든 일반 파일을 찾고 상대 경로 이름을 얻으려면 다음을 수행하십시오 $HOME
.
find "$HOME" -type f -name two.txt