博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux-lsof命令入门教程
阅读量:3962 次
发布时间:2019-05-24

本文共 3776 字,大约阅读时间需要 12 分钟。

文章目录

lsof手册页:http://www.netadmintools.com/html/lsof.man.html

语法

默认 : 没有选项,lsof列出活跃进程的所有打开文件组合 : 可以将选项组合到一起,如-abc,但要当心哪些选项需要参数-l : 在输出显示用户ID而不是用户名-h : 获得帮助-t : 仅获取进程ID-U : 获取UNIX套接口地址-F : 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)-a:列出打开文件存在的进程;-c
<进程名>
:列出指定进程所打开的文件;-g:列出GID号进程详情;-d
<文件号>
:列出占用该文件号的进程;+d
<目录>
:列出目录下被打开的文件;+D
<目录>
:递归列出目录下被打开的文件;-n
<目录>
:列出使用NFS的文件;-i
<条件>
:列出符合条件的进程。(4、6、协议、:端口、 @ip )-p
<进程号>
:列出指定进程号所打开的文件;-u:列出UID号进程详情;-h:显示帮助信息;-v:显示版本信息。

实例

lsof -i:8080#查看8080端口占用lsof abc.txt#显示开启文件abc.txt的进程lsof -c abc#显示abc进程现在打开的文件lsof -c -p 1234#列出进程号为1234的进程所打开的文件lsof -g gid #显示归属gid的进程情况lsof +d /usr/local/#显示目录下被进程开启的文件lsof +D /usr/local/#同上,但是会搜索目录下的目录,时间较长lsof -d 4#显示使用fd为4的进程lsof -i -U#显示所有打开的端口和UNIX domain文件
获取网络信息
lsof  -i 6#使用-i 6仅获取IPv6流量lsof  -iTCP#仅显示TCP连接(同理可获得UDP连接)lsof  -i :22#使用-i:port来显示与指定端口相关的网络信息lsof  -i@172.16.12.5#使用@host来显示指定到指定主机的连接lsof  -i@172.16.12.5:22#使用@host:port显示基于主机与端口的连接lsof  -i |  grep  -i LISTEN#找出监听端口lsof  -i |  grep  -i ESTABLISHED#找出已建立的连接
用户信息
lsof  -u daniel#使用-u显示指定用户打开了什么lsof  -u ^daniel#显示除指定用户以外的其它所有用户所做的事情kill  -9  `lsof -t -u daniel`#杀死指定用户所做的一切事情
命令和进程
lsof  -c syslog-ng#使用-c查看指定的命令正在使用的文件和网络连接lsof  -p 10075#使用-p查看指定进程ID已打开的内容lsof  -t -c Mail-t选项只返回PID
文件和目录
lsof  /var/log/messages/#显示与指定目录交互的所有一切lsof  /home/daniel/firewall_whitelist.txt#显示与指定文件交互的所有一切
高级用法
lsof  -u daniel -i @1.1.1.1#显示daniel连接到1.1.1.1所做的一切kill  -HUP `lsof -t -c sshd`#同时使用-t和-c选项以给进程发送 HUP 信号lsof +L1#显示所有打开的链接数小于1的文件lsof  -i @fw.google.com:2150=2180#显示某个端口范围的打开的连接

lsof输出信息

lsofcommand     PID USER   FD      type             DEVICE     SIZE       NODE NAMEinit          1 root  cwd       DIR                8,2     4096          2 /init          1 root  rtd       DIR                8,2     4096          2 /init          1 root  txt       REG                8,2    43496    6121706 /sbin/initinit          1 root  mem       REG                8,2   143600    7823908 /lib64/ld-2.5.soinit          1 root  mem       REG                8,2  1722304    7823915 /lib64/libc-2.5.soinit          1 root  mem       REG                8,2    23360    7823919 /lib64/libdl-2.5.soinit          1 root  mem       REG                8,2    95464    7824116 /lib64/libselinux.so.1init          1 root  mem       REG                8,2   247496    7823947 /lib64/libsepol.so.1
lsof输出各列信息的意义如下
COMMAND:进程的名称PID:进程标识符PPID:父进程标识符(需要指定-R参数)USER:进程所有者PGID:进程所属组FD:文件描述符,应用程序通过文件描述符识别该文件。DEVICE:指定磁盘的名称SIZE:文件的大小NODE:索引节点(文件在磁盘上的标识)NAME:打开文件的确切名称
文件描述符列表:
cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序lnn:library references (AIX);er:FD information error (see NAME column);jld:jail directory (FreeBSD);ltx:shared library text (code and data);mxx :hex memory-mapped type number xx.m86:DOS Merge mapped file;mem:memory-mapped file;mmap:memory-mapped device;pd:parent directory;rtd:root directory;tr:kernel trace file (OpenBSD);v86  VP/ix mapped file;0:表示标准输出1:表示标准输入2:表示标准错误
一般在标准输出、标准错误、标准输入后还跟着文件状态模式
u:表示该文件被打开并处于读取/写入模式。r:表示该文件被打开并处于只读模式。w:表示该文件被打开并处于。空格:表示该文件的状态模式为unknow,且没有锁定。-:表示该文件的状态模式为unknow,且被锁定。#同时在文件状态模式后面,还跟着相关的锁N:for a Solaris NFS lock of unknown type;r:for read lock on part of the file;R:for a read lock on the entire file;w:for a write lock on part of the file;(文件的部分写锁)W:for a write lock on the entire file;(整个文件的写锁)u:for a read and write lock of any length;U:for a lock of unknown type;x:for an SCO OpenServer Xenix lock on part      of the file;X:for an SCO OpenServer Xenix lock on the      entire file;space:if there is no lock.
文件类型
DIR:表示目录。CHR:表示字符类型。BLK:块设备类型。UNIX: UNIX 域套接字。FIFO:先进先出 (FIFO) 队列。IPv4:网际协议 (IP) 套接字。DEVICE:指定磁盘的名称SIZE:文件的大小NODE:索引节点(文件在磁盘上的标识)NAME:打开文件的确切名称

转载地址:http://cqezi.baihongyu.com/

你可能感兴趣的文章
QTP基本使用——Excel
查看>>
QTP基本使用——检查焦点
查看>>
排序算法之一
查看>>
ArrayList与Vector的区别
查看>>
QTP之描述性编程Descriptive Programming(一)
查看>>
面试题目之一
查看>>
File和Dir类介绍(一)
查看>>
Ruby之————XML创建与解析
查看>>
Ruby之————访问 FTP
查看>>
接触OSPF
查看>>
TCP/IP之一
查看>>
TCP/IP之二
查看>>
VMware 之 虚拟系统上网(Ubuntu 10.0.4)
查看>>
Ruby on Rails 新版本
查看>>
一个关于radrails的问题
查看>>
ubuntu之——用户管理
查看>>
Ruby1.9.2之——Require
查看>>
Ruby1.9.2之——关联Excel
查看>>
Ruby1.9.2之——生成HTML文件
查看>>
Watir2.0.1之——简介及实例
查看>>