symbolic link

フォルダー内のすべてのシンボリックリンクを削除する

フォルダ内の全てのシンボリックリンク(数十個)を一度に削除するにはどうしたらよいでしょうか?unlinkやrmを使うときにいちいち手で挿入するのは現実的ではありません。

find コマンドを使用できます。

find /path/to/directory -maxdepth 1 -type l -delete

安全のために、最初に -delete オプションなしで確認してください。

find /path/to/directory -maxdepth 1 -type l

-maxdepth 1 は、 find がシンボリック リンクのサブフォルダーではなく /path/to/directory のみを検索することを保証します。お気軽に man find をご覧ください。




現在のディレクトリ エイリアス フォルダー内のリンクを一覧表示し、本当にそれらを削除するかどうかを確認します。

find -type l -ls                  # サブディレクトリも検索

find -maxdepth 1 -type l -ls      # ディレクトリ内のみ検索

問題がないようで、これらのリンクを削除したい場合は、次を実行します。

find -type l -delete              # サブディレクトリも削除

find -maxdepth 1 -type l -delete  # ディレクトリ内のみ削除

対話的に削除する場合は、次のコマンド ラインを使用できます (こちらの方が安全です)。

find -type l -exec rm -i {} +              # サブディレクトリも削除

find -maxdepth 1 -type l -exec rm -i {} +  # ディレクトリ内のみ削除