Linux命令(34)之lsof

简介: Linux命令(34)之lsof

Linux命令之lsof

1.lsof介绍
Linux lsof是用来查看当前系统进程打开的文件。linux系统中,一切皆为文件,lsof可以查看的"文件"类型有:

-->目录

-->文件

-->字符设备

-->共享库

-->网络文件

2.lsof用法
lsof [参数] filename

lsof常用参数
参数 说明
-i 列出符合条件的进程
-p

列出进程号打开的文件
-u 列出用户打开的文件
3.实例
3.1.查看22端口打开的文件
命令:

lsof -i :22

[root@rhel77 ~]# lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1292 root 3u IPv4 27262 0t0 TCP :ssh (LISTEN)
sshd 1292 root 4u IPv6 27264 0t0 TCP
:ssh (LISTEN)
sshd 1760 root 3u IPv4 33566 0t0 TCP rhel77.boc.com:ssh->gateway:54761 (ESTABLISHED)
[root@rhel77 ~]#
3.2.列出某进程号打开的文件
命令:

lsof -p

[root@rhel77 ~]# ps -ef |grep ssh
root 1292 1 0 07:31 ? 00:00:00 /usr/sbin/sshd -D
root 1760 1292 0 07:31 ? 00:00:00 sshd: root@pts/0
root 2321 1766 0 08:24 pts/0 00:00:00 grep --color=auto ssh
[root@rhel77 ~]# lsof -p 1292
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1292 root cwd DIR 8,6 4096 64 /
sshd 1292 root rtd DIR 8,6 4096 64 /
sshd 1292 root txt REG 8,6 852888 311561 /usr/sbin/sshd
sshd 1292 root mem REG 8,6 61560 1512 /usr/lib64/libnss_files-2.17.so
sshd 1292 root mem REG 8,6 68192 6391 /usr/lib64/libbz2.so.1.0.6
sshd 1292 root mem REG 8,6 99952 6470 /usr/lib64/libelf-0.176.so
sshd 1292 root mem REG 8,6 19896 6482 /usr/lib64/libattr.so.1.1.0
sshd 1292 root mem REG 8,6 15688 6821 /usr/lib64/libkeyutils.so.1.5
sshd 1292 root mem REG 8,6 67104 53597 /usr/lib64/libkrb5support.so.0.1
sshd 1292 root mem REG 8,6 11392 1209 /usr/lib64/libfreebl3.so
sshd 1292 root mem REG 8,6 251888 1538 /usr/lib64/libnspr4.so
sshd 1292 root mem REG 8,6 20096 1539 /usr/lib64/libplc4.so
sshd 1292 root mem REG 8,6 15800 1540 /usr/lib64/libplds4.so
sshd 1292 root mem REG 8,6 198960 1541 /usr/lib64/libnssutil3.so
sshd 1292 root mem REG 8,6 1257792 243068 /usr/lib64/libnss3.so
sshd 1292 root mem REG 8,6 168336 243069 /usr/lib64/libsmime3.so
sshd 1292 root mem REG 8,6 370584 243070 /usr/lib64/libssl3.so
sshd 1292 root mem REG 8,6 470360 53609 /usr/lib64/libssl.so.1.0.2k
sshd 1292 root mem REG 8,6 121208 242732 /usr/lib64/libsasl2.so.3.0.0
sshd 1292 root mem REG 8,6 142144 1520 /usr/lib64/libpthread-2.17.so
sshd 1292 root mem REG 8,6 88776 78 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
sshd 1292 root mem REG 8,6 338672 243920 /usr/lib64/libdw-0.176.so
sshd 1292 root mem REG 8,6 19384 6475 /usr/lib64/libgpg-error.so.0.10.0
sshd 1292 root mem REG 8,6 535064 6480 /usr/lib64/libgcrypt.so.11.8.2
sshd 1292 root mem REG 8,6 86024 6823 /usr/lib64/liblz4.so.1.7.5
sshd 1292 root mem REG 8,6 157400 6366 /usr/lib64/liblzma.so.5.2.2
sshd 1292 root mem REG 8,6 43712 1524 /usr/lib64/librt-2.17.so
sshd 1292 root mem REG 8,6 1136944 1502 /usr/lib64/libm-2.17.so
sshd 1292 root mem REG 8,6 20096 6484 /usr/lib64/libcap.so.2.22
sshd 1292 root mem REG 8,6 402384 6347 /usr/lib64/libpcre.so.1.2.0
sshd 1292 root mem REG 8,6 23968 6492 /usr/lib64/libcap-ng.so.0.0.0
sshd 1292 root mem REG 8,6 115816 1504 /usr/lib64/libnsl-2.17.so
sshd 1292 root mem REG 8,6 2156072 1494 /usr/lib64/libc-2.17.so
sshd 1292 root mem REG 8,6 15856 6368 /usr/lib64/libcom_err.so.2.1
sshd 1292 root mem REG 8,6 210824 53589 /usr/lib64/libk5crypto.so.3.1
sshd 1292 root mem REG 8,6 967848 53595 /usr/lib64/libkrb5.so.3.3
sshd 1292 root mem REG 8,6 320400 53585 /usr/lib64/libgssapi_krb5.so.2.2
sshd 1292 root mem REG 8,6 105744 1522 /usr/lib64/libresolv-2.17.so
sshd 1292 root mem REG 8,6 40600 1498 /usr/lib64/libcrypt-2.17.so
sshd 1292 root mem REG 8,6 90248 6359 /usr/lib64/libz.so.1.2.7
sshd 1292 root mem REG 8,6 14424 1528 /usr/lib64/libutil-2.17.so
sshd 1292 root mem REG 8,6 61952 243219 /usr/lib64/liblber-2.4.so.2.10.7
sshd 1292 root mem REG 8,6 352584 243221 /usr/lib64/libldap-2.4.so.2.10.7
sshd 1292 root mem REG 8,6 19248 1500 /usr/lib64/libdl-2.17.so
sshd 1292 root mem REG 8,6 2521008 53607 /usr/lib64/libcrypto.so.1.0.2k
sshd 1292 root mem REG 8,6 203688 243933 /usr/lib64/libsystemd.so.0.6.0
sshd 1292 root mem REG 8,6 155784 6356 /usr/lib64/libselinux.so.1
sshd 1292 root mem REG 8,6 61744 242499 /usr/lib64/libpam.so.0.83.1
sshd 1292 root mem REG 8,6 127112 6496 /usr/lib64/libaudit.so.1.0.0
sshd 1292 root mem REG 8,6 42520 6809 /usr/lib64/libwrap.so.0.7.6
sshd 1292 root mem REG 8,6 11344 243459 /usr/lib64/libfipscheck.so.1.2.1
sshd 1292 root mem REG 8,6 163312 1487 /usr/lib64/ld-2.17.so
sshd 1292 root 0r CHR 1,3 0t0 1028 /dev/null
sshd 1292 root 1u unix 0xffff8cf3f677e800 0t0 25449 socket
sshd 1292 root 2u unix 0xffff8cf3f677e800 0t0 25449 socket
sshd 1292 root 3u IPv4 27262 0t0 TCP :ssh (LISTEN)
sshd 1292 root 4u IPv6 27264 0t0 TCP
:ssh (LISTEN)
[root@rhel77 ~]#

3.3.列出root打开的文件
命令:

lsof -u

[root@rhel77 ~]# lsof -u root |head -n 10
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 8,6 4096 64 /
systemd 1 root rtd DIR 8,6 4096 64 /
systemd 1 root txt REG 8,6 1624504 67335905 /usr/lib/systemd/systemd
systemd 1 root mem REG 8,6 20112 6389 /usr/lib64/libuuid.so.1.3.0
systemd 1 root mem REG 8,6 265680 242297 /usr/lib64/libblkid.so.1.1.0
systemd 1 root mem REG 8,6 90248 6359 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 8,6 157400 6366 /usr/lib64/liblzma.so.5.2.2
systemd 1 root mem REG 8,6 23968 6492 /usr/lib64/libcap-ng.so.0.0.0
systemd 1 root mem REG 8,6 19896 6482 /usr/lib64/libattr.so.1.1.0
[root@rhel77 ~]#
3.4.列出所有网络连接
命令:

lsof -i

[root@rhel77 ~]# lsof -i |head -n 10
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 40u IPv4 20566 0t0 UDP :ntalk
systemd 1 root 47u IPv4 20578 0t0 TCP
:sunrpc (LISTEN)
systemd 1 root 48u IPv4 20579 0t0 UDP :sunrpc
systemd 1 root 49u IPv6 20580 0t0 TCP
:sunrpc (LISTEN)
systemd 1 root 50u IPv6 20581 0t0 UDP :sunrpc
rpcbind 928 rpc 4u IPv4 20578 0t0 TCP
:sunrpc (LISTEN)
rpcbind 928 rpc 5u IPv4 20579 0t0 UDP :sunrpc
rpcbind 928 rpc 6u IPv6 20580 0t0 TCP
:sunrpc (LISTEN)
rpcbind 928 rpc 7u IPv6 20581 0t0 UDP *:sunrpc

————————————————
版权声明:本文为CSDN博主「小黑要上天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z19861216/article/details/131161339

目录
相关文章
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
161 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
640 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
110 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
92 2
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
61 14
Linux 10 个“who”命令示例
|
12天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
38 8
|
22天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
116 20
|
22天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
52 7
|
2月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
40 9
|
2月前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解