Linux は、ディレクトリに関連するすべてのシンボリックリンクを見つけて削除します。

Linux は、ディレクトリに関連するすべてのシンボリックリンクを見つけて削除します。

だから私は多くのシンボリックリンクを作成して動作しようとし、さまざまな組み合わせを試している状況に直面しています。これで、次のエラーが発生します。

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)を使用してみてください。-Lls

関連情報