`

lsof 命令详解

 
阅读更多

原文链接:http://www.javaarch.net/jiagoushi/754.htm

lsof 命令详解

1.查看所有打开的文件列表 
FD列:

	cwd current working directory
	rtd root directory
	txt program text (code and data)
	mem memory-mapped file
	
后面有1u表示:

	r for read access.
	w for write access.
	u for read and write access.
	
TYPE – of files and it’s identification.

	DIR – Directory
	REG – Regular file
	CHR – Character special file.
	FIFO – First In First Out
		

	# lsof

	COMMAND    PID      USER   FD      TYPE     DEVICE  SIZE/OFF       NODE NAME
	init         1      root  cwd      DIR      253,0      4096          2 /
	init         1      root  rtd      DIR      253,0      4096          2 /
	init         1      root  txt      REG      253,0    145180     147164 /sbin/init
	init         1      root  mem      REG      253,0   1889704     190149 /lib/libc-2.12.so
	init         1      root   0u      CHR        1,3       0t0       3764 /dev/null
	init         1      root   1u      CHR        1,3       0t0       3764 /dev/null
	init         1      root   2u      CHR        1,3       0t0       3764 /dev/null
	init         1      root   3r     FIFO        0,8       0t0       8449 pipe
	init         1      root   4w     FIFO       0,8       0t0       8449 pipe
	init         1      root   5r      DIR       0,10         0          1 inotify
	init         1      root   6r      DIR       0,10         0          1 inotify
	init         1      root   7u     unix 0xc1513880       0t0       8450 socket
	
2.查看某个用户打开的文件列表 -u参数

	# lsof -u tecmint

	COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
	sshd    1838 tecmint  cwd    DIR      253,0     4096      2 /
	sshd    1838 tecmint  rtd    DIR      253,0     4096      2 /
	sshd    1838 tecmint  txt    REG      253,0   532336 188129 /usr/sbin/sshd
	sshd    1838 tecmint  mem    REG      253,0    19784 190237 /lib/libdl-2.12.so
	sshd    1838 tecmint  mem    REG      253,0   122436 190247 /lib/libselinux.so.1
	sshd    1838 tecmint  mem    REG      253,0   255968 190256 /lib/libgssapi_krb5.so.2.2
	sshd    1838 tecmint  mem    REG      253,0   874580 190255 /lib/libkrb5.so.3.3
	
3.查看某个端口上打开的文件列表 -i参数

	# lsof -i TCP:22

	COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	sshd    1471    root    3u  IPv4  12683      0t0  TCP *:ssh (LISTEN)
	sshd    1471    root    4u  IPv6  12685      0t0  TCP *:ssh (LISTEN)
	
4.查看ipv4或者ipv6网络文件

	# lsof -i 4

	COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	rpcbind   1203     rpc    6u  IPv4  11326      0t0  UDP *:sunrpc
	rpcbind   1203     rpc    7u  IPv4  11330      0t0  UDP *:954
	rpcbind   1203     rpc    8u  IPv4  11331      0t0  TCP *:sunrpc (LISTEN)
	avahi-dae 1241   avahi   13u  IPv4  11579      0t0  UDP *:mdns
	avahi-dae 1241   avahi   14u  IPv4  11580      0t0  UDP *:58600

	# lsof -i 6

	COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	rpcbind   1203     rpc    9u  IPv6  11333      0t0  UDP *:sunrpc
	rpcbind   1203     rpc   10u  IPv6  11335      0t0  UDP *:954
	rpcbind   1203     rpc   11u  IPv6  11336      0t0  TCP *:sunrpc (LISTEN)
	rpc.statd 1277 rpcuser   10u  IPv6  11858      0t0  UDP *:55800
	rpc.statd 1277 rpcuser   11u  IPv6  11862      0t0  TCP *:56428 (LISTEN)
	cupsd     1346    root    6u  IPv6  12112      0t0  TCP localhost:ipp (LISTEN)
	
5.查看某个范围端口上打开的文件列表

	# lsof -i TCP:1-1024

	COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	rpcbind 1203     rpc   11u  IPv6  11336      0t0  TCP *:sunrpc (LISTEN)
	cupsd   1346    root    7u  IPv4  12113      0t0  TCP localhost:ipp (LISTEN)
	sshd    1471    root    4u  IPv6  12685      0t0  TCP *:ssh (LISTEN)
	master  1551    root   13u  IPv6  12898      0t0  TCP localhost:smtp (LISTEN)
	sshd    1834    root    3r  IPv4  15101      0t0  TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED)
	sshd    1838 tecmint    3u  IPv4  15101      0t0  TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED)
	sshd    1871    root    3r  IPv4  15842      0t0  TCP 192.168.0.2:ssh->192.168.0.1:groove (ESTABLISHED)
	httpd   1918    root    5u  IPv6  15991      0t0  TCP *:http (LISTEN)
	httpd   1918    root    7u  IPv6  15995      0t0  TCP *:https (LISTEN)
	
6.除去某个用户

	# lsof -i -u^root

	COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	rpcbind   1203     rpc    6u  IPv4  11326      0t0  UDP *:sunrpc
	rpcbind   1203     rpc    7u  IPv4  11330      0t0  UDP *:954
	rpcbind   1203     rpc    8u  IPv4  11331      0t0  TCP *:sunrpc (LISTEN)
	rpcbind   1203     rpc    9u  IPv6  11333      0t0  UDP *:sunrpc
	rpcbind   1203     rpc   10u  IPv6  11335      0t0  UDP *:954
	rpcbind   1203     rpc   11u  IPv6  11336      0t0  TCP *:sunrpc (LISTEN)
	avahi-dae 1241   avahi   13u  IPv4  11579      0t0  UDP *:mdns
	avahi-dae 1241   avahi   14u  IPv4  11580      0t0  UDP *:58600
	rpc.statd 1277 rpcuser    5r  IPv4  11836      0t0  UDP *:soap-beep
	rpc.statd 1277 rpcuser    8u  IPv4  11850      0t0  UDP *:55146
	rpc.statd 1277 rpcuser    9u  IPv4  11854      0t0  TCP *:32981 (LISTEN)
	rpc.statd 1277 rpcuser   10u  IPv6  11858      0t0  UDP *:55800
	rpc.statd 1277 rpcuser   11u  IPv6  11862      0t0  TCP *:56428 (LISTEN)
	
7.查看某个用户正在使用的哪些进程打开文件

	# lsof -i -u tecmint

	COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	bash    1839 tecmint  cwd    DIR  253,0    12288   15 /etc
	ping    2525 tecmint  cwd    DIR  253,0    12288   15 /etc
	
8.查看某个网络连接打开的文件

	# lsof -i

	COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
	rpcbind   1203     rpc    6u  IPv4  11326      0t0  UDP *:sunrpc
	rpcbind   1203     rpc    7u  IPv4  11330      0t0  UDP *:954
	rpcbind   1203     rpc   11u  IPv6  11336      0t0  TCP *:sunrpc (LISTEN)
	avahi-dae 1241   avahi   13u  IPv4  11579      0t0  UDP *:mdns
	avahi-dae 1241   avahi   14u  IPv4  11580      0t0  UDP *:58600
	rpc.statd 1277 rpcuser   11u  IPv6  11862      0t0  TCP *:56428 (LISTEN)
	cupsd     1346    root    6u  IPv6  12112      0t0  TCP localhost:ipp (LISTEN)
	cupsd     1346    root    7u  IPv4  12113      0t0  TCP localhost:ipp (LISTEN)
	sshd      1471    root    3u  IPv4  12683      0t0  TCP *:ssh (LISTEN)
	master    1551    root   12u  IPv4  12896      0t0  TCP localhost:smtp (LISTEN)
	master    1551    root   13u  IPv6  12898      0t0  TCP localhost:smtp (LISTEN)
	sshd      1834    root    3r  IPv4  15101      0t0  TCP 192.168.0.2:ssh->192.168.0.1:conclave-cpp (ESTABLISHED)
	httpd     1918    root    5u  IPv6  15991      0t0  TCP *:http (LISTEN)
	httpd     1918    root    7u  IPv6  15995      0t0  TCP *:https (LISTEN)
	clock-app 2362   narad   21u  IPv4  22591      0t0  TCP 192.168.0.2:45284->www.gov.com:http (CLOSE_WAIT)
	chrome    2377   narad   61u  IPv4  25862      0t0  TCP 192.168.0.2:33358->maa03s04-in-f3.1e100.net:http (ESTABLISHED)
	chrome    2377   narad   80u  IPv4  25866      0t0  TCP 192.168.0.2:36405->bom03s01-in-f15.1e100.net:http (ESTABLISHED)
	
9.查看某个进程打开的文件列表

	# lsof -p 1

	COMMAND PID USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
	init      1 root  cwd    DIR      253,0     4096      2 /
	init      1 root  rtd    DIR      253,0     4096      2 /
	init      1 root  txt    REG      253,0   145180 147164 /sbin/init
	init      1 root  mem    REG      253,0  1889704 190149 /lib/libc-2.12.so
	init      1 root  mem    REG      253,0   142472 189970 /lib/ld-2.12.so
	
10.关闭某个用户打开文件的相关进程

	# kill -9 `lsof -t -u tecmint`

 

分享到:
评论

相关推荐

    AIX lsof命令详解

    AIX lsof命令详解 lsof 命令是一种功能强大的实用程序,用于列出打开的文件,使系统管理员能够更好地了解系统的状态。通过 lsof,可以了解应用程序打开了哪些文件或者哪个应用程序打开了特定的文件,从而使得系统...

    linux lsof命令详解.docx

    ### Linux lsof 命令详解 #### 一、概述 `lsof`(list open files)是一个强大的命令行工具,用于显示当前系统中所有打开的文件、网络连接和设备的情况。在Linux环境中,几乎所有东西都可以被视为文件,包括常规...

    linux lsof命令详解及实例

    **Linux lsof命令详解** lsof是一个强大的系统监控工具,它能列出当前系统中所有正在被进程打开的文件。在Linux系统中,一切皆为文件,包括网络连接、硬件设备等。lsof通过文件描述符来跟踪这些资源,帮助用户了解...

    Linux恢复删除文件的lsof命令详解

    ### Linux恢复删除文件的lsof命令详解 #### 一、引言 在日常的Linux系统管理和维护过程中,经常会遇到由于误操作导致重要文件被删除的情况。这些误删的文件可能包含重要的系统日志或者配置信息,对于系统的稳定运行...

    Linux命令lsof详解

    #### 一、lsof命令简介 `lsof` 命令在Linux系统中扮演着极其重要的角色,它主要用于列出当前系统中所有已经打开的文件。这些文件可以是普通文件、设备文件、目录、套接字等。对于系统管理员来说,熟练掌握`lsof`...

    lsof-4.87-6.el7.x86_64.rpm

    《lsof在CentOS 7中的应用与详解》 在Linux系统管理中,了解和掌握各种命令行工具是至关重要的。今天我们将深入探讨的是`lsof`(List Open Files)命令,它是一个用于查看系统中打开文件的实用程序,尤其在故障排查、...

    lsof-4.89-ia64_64-11.31.depot.gz

    《lsof在HP-UX系统中的应用与详解》 在IT行业中,系统管理员和开发者经常需要对系统进行深入的监控和调试,以确保服务的稳定性和安全性。在这个过程中,`lsof`(list open files)命令是一个不可或缺的工具。`lsof-...

    aix命令详解.rar

    【IBM AIX操作系统命令详解】 IBM AIX,全称Advanced Interactive eXecutive,是IBM公司开发的一款基于UNIX系统的操作系统,广泛应用于企业级服务器和大型机。AIX提供了丰富的命令行工具,使得用户和管理员能够高效...

    Centos查看端口占用情况和开启端口命令详解

    Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:  lsof -i tcp:80 列出所有端口 netstat -ntlp  1、开启端口(以80端口为例)  方法一: /sbin/iptables -I INPUT -p tcp --dport 80 -j...

    Linux常用经典命令(面试宝典)

    Linux常用命令详解 Linux 操作系统是当今世界上最流行的开源操作系统之一,广泛应用于服务器、超级计算机、嵌入式系统等领域。 Linux 系统提供了丰富的命令行工具,方便用户对系统进行管理和维护。下面是 Linux 中...

    linux 查看端口占用命令实例详解

    linux 查看端口占用命令实例详解...直接用lsof命令可以查看端口使用情况! 以上就是对linux 查看端口占用命令的讲解,如有疑问请留言,或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    sed命令.docx

    **sed命令详解** **1. sed命令的基本概念** sed(stream editor)是一个强大的文本处理工具,主要用于对文本文件进行非交互式的编辑操作。它的工作方式是逐行读取输入文件,将当前处理的行存储在临时缓冲区(模式...

Global site tag (gtag.js) - Google Analytics