Linux lsof 命令
lsof
(List Open Files)是一个在 Unix、Linux 和类 Unix 系统上非常有用的命令,它用于列出系统中当前打开的文件。由于在 Unix 和 Linux 系统中,几乎一切都是文件(包括设备和网络套接字), lsof
命令变得非常强大和多用途。以下是一些常见的 lsof
用法:
- 列出所有打开的文件 :仅输入
lsof
命令会列出系统中所有打开的文件。 - 按照用户筛选 :
lsof -u username
会列出特定用户打开的文件。 - 查找特定进程打开的文件 :
lsof -p pid
会列出特定进程 ID(PID)打开的文件。 - 查看某个端口的使用情况 :
lsof -i :port
可以查看哪些进程正在使用特定的网络端口。 - 列出某个目录下被打开的文件 :
lsof +D /path/to/directory
会显示在指定目录下所有被打开的文件。 - 查找打开某个文件的进程 :
lsof /path/to/file
会列出打开特定文件的所有进程。 - 显示网络连接 :
lsof -i
用于显示所有网络连接。 - 列出所有 UNIX 域套接字 :
lsof -U
用于查看所有 UNIX 域套接字。 - 组合使用多个选项 :你可以组合使用多个选项,例如
lsof -u user -i
来查找特定用户打开的网络连接。 - 查看特定类型的文件 :
lsof -t type
,其中type
可以是REG
(常规文件)、DIR
(目录)、CHR
(字符设备)、BLK
(块设备)等。
这些是 lsof
命令输出中各列的意义:
- COMMAND :显示打开文件的进程的命令名或程序名。
- PID :表示打开该文件的进程的进程标识号(Process ID)。
- TID :线程 ID(Thread ID)。如果输出中包含这一列,它表示特定线程而不是整个进程打开了文件。
- USER :显示打开文件的进程的所属用户。
- FD :文件描述符。它是一个用于表示进程打开的文件的标记。这个标记可以是一个数字(如 1,2,3...),也可以是以下特殊字符之一:
cwd
:表示当前工作目录。txt
:表示程序代码本身。mem
:表示内存映射文件,通常是共享库或程序的一部分。rtd
:表示根目录。DEL
:表示已删除的文件。
- TYPE :文件的类型,例如:
DIR
:目录REG
:常规文件CHR
:字符设备BLK
:块设备FIFO
:管道SOCK
:套接字
- DEVICE :显示文件所在的设备号。通常对于磁盘文件,这代表文件系统的设备。
- SIZE/OFF :对于普通文件,这是文件的大小。对于某些特殊文件,如网络套接字或管道,这可能表示一个偏移量或者不同的数据。
- NODE :文件的 inode 编号,这是一个文件系统中文件的唯一标识。
- NAME :文件的名称和路径,或者是设备、网络连接的详细信息。
lsof 命令,Linux lsof 命令详解:显示 Linux 系统当前已打开的所有文件列表 lsof -p pid
- Linux 命令搜索引擎 (wangchujiang.com)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

上一篇: Linux lspci 命令
下一篇: Linux lsblk 命令
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论