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

ディレクトリを指すシンボリック リンクがあるかどうかを確認する方法はありますか?

このようなシンボリック リンクを直接確認する方法はありません。システム上の別のボリュームへのシンボリック リンクを含む可能性がある、常にマウントされていないファイル システム (外部 USB ドライブなど) がある可能性があることを考慮してください。

あなたは何かをすることができます:

for a in `find / -type l`; do echo "$a -> `readlink $a`"; done | grep destfolder

FreeBSD の find -lname をサポートしていません オプション、それが私が上記で終わった理由です.


私なら find コマンドを使います。

find . -lname /particular/folder

これにより、現在のディレクトリで /particular/folder へのシンボリック リンクが再帰的に検索されます。 .絶対シンボリックリンクのみが検索されることに注意してください。同様のコマンドを使用して、「フォルダ」と呼ばれるオブジェクトを指すすべてのシンボリック リンクを検索できます:

find . -lname '*folder'

そこから、誤検知を取り除く必要があります。


find . -type l -printf '%p -> %l\n'

symlinks でシンボリックリンクを監査できます Mark Lord によって書かれたプログラム -- ファイルシステム全体をスキャンし、シンボリックリンクのパスを絶対形式に正規化し、標準出力に出力します。


Linux
  1. mv が存在しない場合に、移動先のディレクトリを作成する方法はありますか?

  2. 列ごとに「ユニーク」にする方法はありますか?

  3. bash スクリプトに少なくとも 2 つの引数が指定されていることを確認します

  1. 除外ディレクトリを検索しますか?

  2. シリアル デバイスでサポートされているボー レートを確認する方法はありますか?

  3. ディレクトリの下のすべてのシンボリックリンクを解除するには?

  1. ディレクトリ内のファイル数を数える最良の方法は何ですか?

  2. シンボリックリンクの代わりにマウントバインドを使用することによる欠点はありますか?

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