web-dev-qa-db-ja.com

特定のディレクトリ内で開いているすべてのファイルを見つけるにはどうすればよいですか?

lsofを使用して開いているファイルを一覧表示でき、findを使用して特定のディレクトリ内のiノードでファイルを検索できることを知っています。

しかし、これら2つのプログラムを効果的に組み合わせて、特定のディレクトリ内で開いているすべての開いているファイルを一覧表示するにはどうすればよいですか?または、この質問に答えるより良い方法はありますか?

2
spraff

簡単。 lsof コマンドの出力を grep にパイプするだけで、次のような処理が可能になります。

Sudo lsof | grep /path/of/directory/you/care/about
3
JakeGould

lsofには、これを行うためのスイッチがあります。

  • lsof +d 'directory'(フォルダ内の開いているファイルを一覧表示します)
  • lsof +D 'directory'(開いているファイルを再帰的に一覧表示します)
4
5hack