lsof (list open files) 命令在 Linux/unix 系统中常常用于检查某些文件相关问题,比如查看哪些进程在使用某些文件、哪些文件正在被打开、哪些用户正在使用哪些文件等。下面是更详细的介绍。
安装 lsof
大部分 Linux 操作系统默认安装了 lsof 命令,但是如果你的系统没有安装,可以使用以下命令进行安装:
CentOS/RHEL:
sudo yum install lsof
Debian/Ubuntu:
sudo apt-get install lsof
lsof 命令基本使用
lsof 命令的基本使用非常简单,语法格式如下:
lsof [选项] [文件名/路径]
其中,文件名/路径是需要查看的文件或目录的名称,如果不指定文件名或目录名称,lsof 会显示系统上所有打开的文件,包括所有进程正在使用的文件。
以下是常用的选项:
- -c:按进程名显示
- -u:按用户显示
- -p:显示某个进程所打开的文件
- -i:显示使用某个端口的进程
举个例子,如果你想查看所有被进程名为 nginx 的进程打开的文件,可以使用以下命令:
lsof -c nginx
这将会显示所有进程名包含 nginx 字符串的进程所打开的文件列表。
示例1:查看指定进程所打开的文件
使用 -p 选项可以查看某个进程打开的文件。假设你想查看进程号为 1111 的进程所打开的文件,可以使用以下命令:
lsof -p 1111
这将会显示进程号为 1111 的进程所打开的文件列表。
示例2:查看指定端口的进程
使用 -i 选项可以查看某个端口正在使用的进程。假设你想查看端口为 80 的进程,可以使用以下命令:
lsof -i :80
这将会显示所有使用端口号为 80 的进程及其相关信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux lsof命令:列出当前系统打开的文件 - Python技术站