如何找到给定目录中打开的所有文件?

spr*_*aff 3 linux find lsof

我知道我可以lsof用来列出打开的文件,我知道我可以用来find在给定目录中通过 inode 查找文件。

但是如何有效地结合这两个程序来列出在给定目录中打开的所有打开文件?或者有没有更好的方法来回答这个问题?

小智 8

lsof 有这样做的开关。

  • lsof +d 'directory' (将列出文件夹中打开的文件)
  • lsof +D 'directory' (将递归列出打开的文件)

  • 这应该是公认的答案。 (2认同)

Gia*_*968 4

简单的。只需将命令的输出lsof通过管道传输grep以进行进一步处理,如下所示:

sudo lsof | grep /path/of/directory/you/care/about
Run Code Online (Sandbox Code Playgroud)