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

Linuxで壊れたシンボリックリンクを見つける方法

以前の記事で、Linuxのシンボリックリンクとは何かを説明しました。 Linuxで他のファイルへのショートカットを作成するには、シンボリックリンクまたはシンボリックリンクまたはソフトリンクが使用されます。シンボリックリンクは、Linuxのライブラリをリンクする際に頻繁に使用されます。

リンクポインティング先の元のファイルを削除すると、リンクがぶら下がりリンクになります。そのようなリンクを維持することは良い考えではないかもしれません。

ここで疑問が生じます。Linuxで壊れたシンボリックリンクをどのように見つけますか?一部のディストリビューションでは、壊れたリンクが異なる色で表示されますが、そのような壊れたリンクをすべて見つける方法ではありません。

このチュートリアルでは、Linuxでぶら下がっているリンクを見つけるためのいくつかの方法を紹介します。

方法1.findコマンドを使用して、壊れたシンボリックリンクをすべて一覧表示します

驚くべきfindコマンドは、壊れたソフトリンクを見つけるためにも使用できます。このコマンドの新しいバージョンは、このタスク専用のオプションを提供します。

現在のディレクトリとそのサブディレクトリ内のすべてのぶら下がっているリンクを検索するには、次のような検索コマンドを使用できます。

find . -xtype l

出力には、壊れたリンクがすべて一覧表示されます:

find . -xtype l
./target_link2
./newdir/new_dir/link_dir

ぶら下がっているリンクを処理するために、symlinksという名前の専用コマンドを使用することもできます。

symlinksコマンドをインストールする必要がある場合があります。 Debianで利用できます。 Ubuntuを使用している場合は、Universeリポジトリを有効にする必要があります。

sudo apt install symlinks

インストールすると、次のように使用できます。

symlinks [options] path_to_directory

したがって、現在のディレクトリで壊れたリンクを見つける必要がある場合は、次のように使用できます。

symlinks .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip

何か気づきましたか? findコマンドに2つの壊れたリンクがあったのに対し、それは1つの壊れたリンクのみをリストします。再帰的に検索する場合は、オプションを指定する必要があるためです。

symlinks -r directory

それではない。 symlinksコマンドのオプション-dを使用して、壊れたリンクをすべて削除することもできます。

symlinks -d .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
deleted:  /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip

実際、シンボリックリンクを使用して、システム内のソフトリンクを適切に管理できます。ファイルシステム間のリンクについて警告したり、乱雑なリンクを相対的なリンクに変更したり、長いリンクを短くしたりすることができます。

Linuxでは、タスクを実行する方法がいくつかあります。壊れたシンボリックリンクを見つけることは同じです。私はあなたに2つの方法を示しましたが、確かに他の方法もあります。ぶら下がっているリンクを管理するための他のお気に入りのコマンドがある場合は、コメントセクションで共有してください。

関連するトピックについては、Linuxのハードリンクの概念について読むことをお勧めします。


Linux
  1. Linuxシンボリックリンクを更新する方法

  2. LinuxでFINDを使用する方法

  3. Linuxでファイルを見つける方法

  1. LinuxでIPアドレスを見つける方法

  2. Linuxでファイルを見つける方法

  3. LinuxでデフォルトゲートウェイIPを見つける方法

  1. KaliLinuxでIPアドレスを見つける方法

  2. Linuxでシンボリックリンクを作成する方法

  3. LinuxでIPアドレスを検索/取得する方法