그래서 작동하도록 하기 위해 많은 심볼릭 링크를 만들고 모든 종류의 조합을 시도하는 상황이 약간 있습니다. 이제 다음 오류가 발생했습니다.
ls: cannot access /etc/sv/me: Too many levels of symbolic links
/service/ 또는 /etc/sv/에 심볼릭 링크가 없습니다.
이 오류를 해결할 수 있는 유일한 방법은 /service/ 또는 /etc/sv/와 관련된 모든 심볼릭 링크를 제거하는 것입니다. 심볼릭 링크?
답변1
약간의 find
속임수를 사용하여 순환 심볼릭 링크를 식별할 수 있습니다. 다음을 시도해 보세요.
find /path/to/search -type l -a ! \( -xtype b -o -xtype c -o -xtype d -o -xtype p -o -xtype f -o -xtype s -o -xtype l \) 2>/dev/null
이는 심볼릭 링크를 필터링한 다음 심볼릭 링크의 대상 유형이 가능한 inode 유형인 모든 항목을 제외하는 방식으로 작동합니다. 남은 유일한 것은 find
대상의 유형을 결정할 수 없는 것입니다. 이는 순환 심볼릭 링크에서만 발생합니다(깨진 것들은 일치합니다 -xtype l
).
답변2
심볼릭 링크는 "원거리에서의 작업"을 나타내지 않습니다. 즉, 심볼릭 링크의 대상이 되는 것은 대상에 직접적으로 영향을 주지 않습니다.
표시되는 오류는 /etc
, 또는 /etc/sv
, 또는 /etc/sv/me
중 하나가 심볼릭 링크임을 나타냅니다. 어느 쪽인지 파악하고 수정하세요.
답변3
을 수행할 때 -l
대문자 대신 소문자(대시 ell)를 사용해 보십시오 .-L
ls