如何使用lsof命令:2分钟Linux技巧

网络世界 | 2020年1月10日

在此Linux技巧中,学习如何使用lsof(列出打开的文件)命令。要正确列出所有打开的文件,应使用sudo。否则,您可能会遇到很多“权限被拒绝”警告。

版权© 2020 IDG Communications,Inc.

嗨,我是NetworkWorld上“ Unix作为第二语言”博客的作者Sandra Henry-Stocker。
在本Linux技巧中,我们将研究lsof(列出打开的文件)命令。您可能会感到惊讶。
要正确列出所有打开的文件,应使用sudo。否则,您可能会遇到很多“权限被拒绝”警告。
除非您是有史以来最好的速度阅读器,否则您可能并不会了解太多。系统上打开了很多文件。这并不意味着正在编辑这些文件,而是正在使用它们。您可以根据需要将lsof的输出传递给more,然后一次将输出向下翻一页,但这将花费您很多时间。让我们使用wc来了解命令向我们吐出的数据量。
您可能会看到超过30,000个打开的文件!
一个更实际的示例是查看一个特定用户打开的文件。
我们仍然得到很多输出-已打开以支持该用户的登录会话的文件(不是该用户打开的意图),并且让我补充说,该用户只是使用Putty登录并编辑单个文件。
查看lsof输出中的第一行,您将看到输出中的每个字段代表什么-命令或进程,进程ID和用户名。在FD下,cwd =当前工作目录,rtd =根目录,txt =文本文件,mem =内存映射文件。 TYPE =每个条目代表目录还是文件,设备ID,大小,节点以及最终名称。如果nemo正在编辑文件,您会看到一个文件名,但是“ myfile”将被列为/.myfile.swp,因为它尚未保存。
这就是您针对lsof的Linux技巧。如果您有任何疑问或想建议一个话题,请在下面添加评论。而且,不要忘记在YouTube上订阅IDG技术(对话)频道。
如果您喜欢这部影片,请按一下[喜欢]和[分享]按钮。有关更多Linux技巧,请确保在Facebook,YouTube和NetworkWorld.com上关注我们。
来自IDG.tv的精选视频