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)。

おすすめ記事