lsof命令用于查看进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)
-a | 列出打开文件存在的进程 |
-c <进程名> | 列出指定进程所打开的文件 |
-g | 列出GID号进程详情 |
-d <文件号> | 列出占用该文件号的进程 |
+d <目录> | 列出目录下被打开的文件 |
+D <目录> | 递归列出目录下被打开的文件 |
-n <目录> | 列出使用NFS的文件 |
-i <条件> | 列出符合条件的进程 |
-p <进程号> | 列出指定进程号所打开的文件 |
-u | 列出UID号进程详情 |
参数 | 输出信息 解释 |
---|---|
COMMAND | 进程的名称 PID:进程标识符 |
USER | 进程所有者 |
FD | 文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等 |
DEVICE | 指定磁盘的名称 |
SIZE | 文件的大小 |
NODE | 索引节点(文件在磁盘上的标识) |
NAME | 打开文件的确切名称 |
FD | 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改,txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序 |
文件类型参数 | 描述 |
---|---|
DIR | 表示目录 |
CHR | 表示字符类型 |
BLK | 块设备类型 |
UNIX | UNIX 域套接字 |
FIFO | 先进先出 (FIFO) 队列 |
IPv4 | 网际协议 (IP) 套接字 |
DEVICE | 指定磁盘的名称 |
SIZE | 文件的大小 |
NODE | 索引节点(文件在磁盘上的标识) |
NAME | 打开文件的确切名称 |
列出目录下打开的文件
[root@C7--01 ~]# lsof +d /root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 35057 root cwd DIR 253,0 238 100663361 /root
bash 43730 root cwd DIR 253,0 238 100663361 /root
vim 43961 root cwd DIR 253,0 238 100663361 /root
vim 43961 root 4u REG 253,0 12288 100678496 /root/.aaa.swp #打开的文件
lsof 44311 root cwd DIR 253,0 238 100663361 /root
lsof 44312 root cwd DIR 253,0 238 100663361 /root
统计操作系统所有打开的文件
[root@C7--01 ~]# lsof |wc -l
7663
递归查看目录下打开的文件
[root@C7--01 ~]# lsof +d /root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 35057 root cwd DIR 253,0 22 100678496 /root/ccc
bash 43730 root cwd DIR 253,0 233 100663361 /root
vim 44451 root cwd DIR 253,0 22 100678496 /root/ccc
lsof 44458 root cwd DIR 253,0 233 100663361 /root
lsof 44459 root cwd DIR 253,0 233 100663361 /root
[root@C7--01 ~]# lsof +D /root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 35057 root cwd DIR 253,0 22 100678496 /root/ccc
bash 43730 root cwd DIR 253,0 233 100663361 /root
vim 44451 root cwd DIR 253,0 22 100678496 /root/ccc
vim 44451 root 3u REG 253,0 12288 100678513 /root/ccc/.aaa.swp
lsof 44466 root cwd DIR 253,0 233 100663361 /root
lsof 44467 root cwd DIR 253,0 233 100663361 /root
统计java进程打开的文件数
[root@C7--01 ~]# lsof -c java |wc -l
0
显示所有打开的端口
[root@C7--01 ~]# lsof -i #可以单独查询 tcp udq
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 667 chrony 1u IPv4 16243 0t0 UDP localhost:323
chronyd 667 chrony 2u IPv6 16244 0t0 UDP localhost:323
master 1011 root 13u IPv4 19362 0t0 TCP localhost:smtp (LISTEN)
master 1011 root 14u IPv6 19363 0t0 TCP localhost:smtp (LISTEN)
httpd 1055 root 4u IPv6 19940 0t0 TCP *:http (LISTEN)
httpd 1626 daemon 4u IPv6 19940 0t0 TCP *:http (LISTEN)
httpd 1627 daemon 4u IPv6 19940 0t0 TCP *:http (LISTEN)
httpd 1628 daemon 4u IPv6 19940 0t0 TCP *:http (LISTEN)
httpd 1710 daemon 4u IPv6 19940 0t0 TCP *:http (LISTEN)
sshd 35055 root 3u IPv4 68171 0t0 TCP C7--01:ssh->gateway:56675 (ESTABLISHED)
sshd 36708 root 3u IPv4 70611 0t0 TCP *:ssh (LISTEN)
sshd 36708 root 4u IPv6 70613 0t0 TCP *:ssh (LISTEN)
sshd 43727 root 3u IPv4 85369 0t0 TCP C7--01:ssh->gateway:61627 (ESTABLISHED)
查询tcp打开端口 lsof -i tcp
查看某个进程号打开的文件数
[root@C7--01 ~]# lsof -p 43730
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 43730 root cwd DIR 253,0 233 100663361 /root
bash 43730 root rtd DIR 253,0 244 64 /
bash 43730 root txt REG 253,0 960472 286843 /usr/bin/bash
bash 43730 root mem REG 253,0 106070960 286834 /usr/lib/locale/locale-archive
bash 43730 root mem REG 253,0 62184 33687680 /usr/lib64/libnss_files-2.17.so
bash 43730 root mem REG 253,0 2127336 33679246 /usr/lib64/libc-2.17.so
bash 43730 root mem REG 253,0 19776 33679252 /usr/lib64/libdl-2.17.so
bash 43730 root mem REG 253,0 174520 33688019 /usr/lib64/libtinfo.so.5.9
bash 43730 root mem REG 253,0 164264 33679239 /usr/lib64/ld-2.17.so
bash 43730 root mem REG 253,0 26254 33687992 /usr/lib64/gconv/gconv-modules.cache
bash 43730 root 0u CHR 136,1 0t0 4 /dev/pts/1
bash 43730 root 1u CHR 136,1 0t0 4 /dev/pts/1
bash 43730 root 2u CHR 136,1 0t0 4 /dev/pts/1
bash 43730 root 255u CHR 136,1 0t0 4 /dev/pts/1
列出22端口号
[root@C7--01 ~]# lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 35055 root 3u IPv4 68171 0t0 TCP C7--01:ssh->gateway:56675 (ESTABLISHED)
sshd 36708 root 3u IPv4 70611 0t0 TCP *:ssh (LISTEN)
sshd 36708 root 4u IPv6 70613 0t0 TCP *:ssh (LISTEN)
sshd 43727 root 3u IPv4 85369 0t0 TCP C7--01:ssh->gateway:61627 (ESTABLISHED)