RockyLinux lsof命令详解(如何列出和监控系统中打开的文件)

来源:这里教程网 时间:2026-03-14 21:46:01 作者:

在 Linux 系统管理中,了解哪些进程打开了哪些文件是非常重要的。特别是在排查系统问题、释放被占用的磁盘空间或监控安全事件时,lsof(List Open Files)命令就显得尤为关键。本文将手把手教你如何在 RockyLinux 系统中使用

lsof
命令来列出打开的文件,即使你是 Linux 新手也能轻松掌握。

什么是 lsof 命令?

lsof
是 “list open files” 的缩写,它能列出当前系统中所有被进程打开的文件。在 Linux 中,“一切皆文件”,所以这不仅包括普通文件,还包括目录、设备、网络套接字、管道等。

安装 lsof(如果尚未安装)

在 RockyLinux 中,

lsof
默认可能未安装。你可以通过以下命令安装:

sudo dnf install -y lsof

基本用法:列出所有打开的文件

直接运行

lsof
命令会输出大量信息,包括进程 ID、用户、文件描述符、文件类型和路径等:

lsof

注意:由于输出内容较多,建议配合
less
grep
使用,例如:
lsof | less
lsof | grep .log

常用实用场景

1. 查看某个用户打开的文件

lsof -u username

2. 查看某个进程打开的文件

lsof -p 1234

其中

1234
是进程 ID(PID)。

3. 查看某个文件被哪些进程占用

lsof /path/to/file.txt

当你无法删除或修改某个文件时,这个命令非常有用。

4. 查看网络连接(打开的网络文件)

lsof -i

这会列出所有使用网络的进程,包括 TCP 和 UDP 连接。

为什么 lsof 对系统管理员如此重要?

在日常运维中,RockyLinux lsof命令 是排查问题的利器。例如:

磁盘空间已满,但删除文件后空间未释放?可能是进程仍在使用该文件,用
lsof
找出并重启进程。 怀疑有异常网络连接?用
lsof -i
快速定位可疑进程。 需要确认某个服务是否打开了正确的配置文件?
lsof -p $(pgrep service_name)
可以帮你验证。

小贴士

- 使用

lsof +D /directory
可以查看某个目录下所有被打开的文件。
- 普通用户只能看到自己有权限访问的进程信息,如需完整信息,请使用
sudo lsof

- 结合
grep
awk
等工具可实现更强大的过滤和分析。

结语

掌握 RockyLinux lsof命令 不仅能提升你的 Linux系统管理 能力,还能在关键时刻快速定位问题。无论是 查看打开文件 还是进行 进程文件监控,lsof 都是你不可或缺的工具。现在就打开你的 RockyLinux 终端,试试这些命令吧!

相关推荐