find
재귀적으로 경로를 검색하는 것이 가능하지만 지정된 깊이까지만 심볼릭 링크 경로로 들어 갈 수 있습니까 n
?
예 -maxdepth
, 하지만 여기에는 일반 디렉토리가 포함되지만 심볼릭 링크 깊이만 제한하고 싶습니다.
답변1
다음을 시도해 보세요:
$ find -L -maxdepth n -path "/my/path/pattern" -xtype l -print
간단한 설명:
- 지정된 깊이 n까지만 심볼릭 링크를 인쇄해야 합니다. 여기서 n은 양의 정수입니다.
- 옵션은 인수보다 앞에 와야 합니다. 이는 위 cmd의 쓰기 순서가 중요하다는 의미입니다. 어쨌든 그렇지 bash
않으면 불평할 것이다.
- -print
가 기본값이므로 이 경우 생략해도 됩니다.
man
bash v4.4.12 페이지 에 따르면 다음과 같은 이유로 마법이 발생합니다.
-xtype c
파일이 기호 링크가 아닌 한 -type과 동일합니다. 기호 링크의 경우: -H 또는 -P 옵션이 제공되면 파일이 c 유형의 파일에 대한 링크이면 true이고, -L 옵션이 제공되면 c가 "l"이면 true입니다. 즉, 기호 링크의 경우 -xtype은 -type이 확인하지 않는 파일 형식을 확인합니다.
이것은 나에게 효과적입니다.