![여러 심볼릭 링크를 통해 원본 파일을 찾는 방법은 무엇입니까? [반복하다]](https://linux55.com/image/182267/%EC%97%AC%EB%9F%AC%20%EC%8B%AC%EB%B3%BC%EB%A6%AD%20%EB%A7%81%ED%81%AC%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EC%9B%90%EB%B3%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B0%BE%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B0%98%EB%B3%B5%ED%95%98%EB%8B%A4%5D.png)
심볼릭 링크가 다른 심볼릭 링크를 가리키는 상황이 발생하여 기본 파일이 저장된 위치를 추적하고 추적하기 위해 여러 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