동일한 대상을 가리키는 디렉토리에서 모든 심볼릭 링크를 찾는 방법은 무엇입니까?
예를 들어, 다음은 디렉터리의 파일 목록입니다.
a.txt
b.txt
a -> target1
c -> target1
m -> target2
n -> target3
c.txt
z -> target1
에 링크된 콘텐츠 목록을 얻고 싶습니다 target1
. 따라서 예상되는 출력은 다음과 같습니다.
a
c
z
답변1
다음 디렉터리 구조를 고려하세요.
lrwxrwxrwx [...] a -> target1
lrwxrwxrwx [...] c -> target1
lrwxrwxrwx [...] m -> target2
lrwxrwxrwx [...] n -> target3
lrwxrwxrwx [...] t -> z
-rw-r--r-- [...] target1
-rw-r--r-- [...] target2
-rw-r--r-- [...] target3
lrwxrwxrwx [...] z -> target1
find
동일한 inode를 가리키는 모든 파일을 찾으려면 GNU를 사용하십시오 .
find -L . -samefile target1
-L
재귀적 심볼릭 링크가 있더라도 심볼릭 링크를 따르세요.-samefile
주어진 매개변수와 동일한 inode를 가리키는 모든 파일 찾기target1
위 디렉터리의 출력은 다음과 같습니다.
./z
./a
./target1
./c
./t