심볼릭 링크가 다른 심볼릭 링크를 가리키는 상황이 발생하여 기본 파일이 저장된 위치를 추적하고 추적하기 위해 여러 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