여러 심볼릭 링크를 통해 원본 파일을 찾는 방법은 무엇입니까? [반복하다]

여러 심볼릭 링크를 통해 원본 파일을 찾는 방법은 무엇입니까? [반복하다]

심볼릭 링크가 다른 심볼릭 링크를 가리키는 상황이 발생하여 기본 파일이 저장된 위치를 추적하고 추적하기 위해 여러 ls 명령을 실행해야 했습니다. 예를 들어, centos에서 실행되는 Java 프로그램의 위치를 ​​알고 싶다면 일반적으로 /bin/java에서 시작하여 실제 파일의 위치를 ​​찾으려면 3-4개의 심볼릭 링크를 거쳐야 합니다.

실제 파일을 찾을 때까지 모든 심볼릭 링크를 따르고 기본 파일의 위치를 ​​알려주는 간단한 정리 명령이 있습니까?

답변1

를 사용하면 realpath모든 심볼릭 링크를 파일 대상까지 확장합니다.

예를 들면 다음과 같습니다.

> ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Jul 13  2019 /usr/bin/java -> /etc/alternatives/java
> realpath /usr/bin/java
/usr/lib64/jvm/java-11-openjdk-11/bin/java

최종 파일 readlink과 함께 직접 대상 만 제공하십시오.readlink -f

> readlink /usr/bin/java
/etc/alternatives/java
> readlink -f /usr/bin/java
/usr/lib64/jvm/java-11-openjdk-11/bin/java

관련 정보