lsof命令的应用

一、lsof命令
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
二、语法

lsof(选项)

三、选项

-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息。

四、lsof输出各列信息

直接输入lsof部分输出为:
每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。

lsof输出各列信息的意义如下:

  • COMMAND:进程的名称
  • PID:进程标识符
  • PPID:父进程标识符(需要指定-R参数)
  • USER:进程所有者
  • PGID:进程所属组
  • FD:文件描述符,应用程序通过文件描述符识别该文件。

五、lsof 命令的使用
1.列出所有打开的文件

lsof

lsof命令的应用_第1张图片
2. 查看谁正在使用某个文件(lsof 文件名)

lsof 文件名

3.查看端口22现在的运行情况

losf -i 22

4.列出进程号为12的进程打开了哪些文件

lsof -p 12

5.查看所属root用户进程所打开的文件类型为txt的文件

lsof -a -u root -d txt

你可能感兴趣的:(lsof命令的应用)