다른 디렉토리에 있는 파일 경로를 인쇄하는 방법

다른 디렉토리에 있는 파일 경로를 인쇄하는 방법

파일이 있으면 인쇄합니다 one.txt.~/Documentscd ~/Documentsrealpath one.txt

~/Documents/one.txt.

하지만 다른 디렉터리에 있는 파일의 경로를 인쇄하려면 어떻게 해야 할까요? 예를 들어, cd a/b디렉토리에 파일이 있는데 이를 명령에 전달하여 절대 경로를 인쇄하는 방법은 무엇입니까?two.txta2/b2two.txttwo.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

관련 정보