lsof命令详解

lsof(list open files)是 Linux 系统中用于查看进程打开文件的工具,其核心功能与用法如下:


一、基础概念

  1. 作用范围
    可列出所有被进程打开的文件,包括普通文件、目录、设备文件、网络连接(如套接字)、管道等,体现 Linux“一切皆文件”的设计理念24。

  2. 权限要求
    需 root 权限或 sudo 执行,以访问核心内存和系统文件12。


二、输出字段解析

字段说明
COMMAND进程名称(如 nginx)14
PID进程标识符13
USER进程所有者16
FD文件描述符(如 cwd 表示当前工作目录,数字表示文件句柄)14
TYPE文件类型(REG 普通文件,DIR 目录,IPv4 网络连接等)34
NODE索引节点号(文件在磁盘的唯一标识)16
NAME文件路径或网络地址(如 192.168.1.1:80)36

三、常用选项与场景

1. 基础查询
  • 列出所有打开文件

    lsof

    需配合 grep 或 less 过滤输出

  • 查看指定文件/目录的占用

    lsof /path/to/file lsof +D /path/to/dir # 递归查询目录

2. 进程与用户过滤
  • 按进程名/用户筛选

    lsof -c nginx # 查看 nginx 打开的文件 lsof -u www-data # 查看用户 www-data 的文件

3. 网络相关
  • 查看端口占用

    lsof -i :80 # 列出 80 端口的进程 lsof -i TCP # 所有 TCP 连接

4. 高级用法
  • 查找已删除未释放的文件

    lsof | grep deleted # 配合 kill 或重启服务释放空间

  • 仅输出 PID(适合脚本处理)

    lsof -t /var/log/syslog

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值