GNU/Linux >> Linux の 問題 >  >> Linux

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

そのため、さまざまな組み合わせを試して、それらを機能させるために多くのシンボリックリンクを作成したという状況が少しあります。今、このエラーが発生します:

ls: cannot access /etc/sv/me: Too many levels of symbolic links

/service/または/etc/ sv /にシンボリックリンクがありません
このエラーを解決するために見つけることができる唯一の方法は、/service/または/etc/ sv /に関連するすべてのシンボリックリンクを削除することですが、私はしません。シンボリックリンクも表示されますか?

承認された回答:

少しの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

これは、シンボリックリンクをフィルタリングし、シンボリックリンクのターゲットのタイプが可能なiノードタイプのいずれかであるものをすべて除外することで機能します。残っているのはfindの場所だけです ターゲットのタイプを判別できません。これはサイクリックシンボリックリンクでのみ発生します(壊れたシンボリックリンクは-xtype lに一致します) )


Linux
  1. Linuxでディレクトリを再帰的に検索および削除する方法

  2. Linux:特定の「元の」ファイルのすべてのシンボリックリンクを見つけますか? (逆 'readlink')

  3. Linux で find コマンドを使用して、スペースのあるファイルを検索して削除する

  1. Linuxですべてのファイルとディレクトリ名を小文字に変更

  2. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  3. Linuxでtestという名前のすべてのディレクトリを見つけて削除します

  1. ディレクトリを見つけて名前を変更する

  2. ディレクトリおよびサブディレクトリ内のすべてのゼロバイト ファイルを検索する

  3. ターミナルlinux mintを使用してディレクトリ内のすべての画像を見つけてコピーし、構文を理解しようとします