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

目录
相关文章
|
3天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
21 5
Linux 常用文件查看命令
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
433 8
|
4月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1327 6
|
4月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
295 3
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
77 24
Linux系统之whereis命令的基本使用
|
9天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
43 19
|
20天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
111 25
|
18天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
31 2
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
61 11
|
4月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
126 56