lsof命令

可以列出被进程所打开的文件的信息。被打开的文件可以是

  • 1.普通的文件,
  • 2.目录
  • 3.网络文件系统的文件,
  • 4.字符设备文件
  • 5.(函数)共享库
  • 6.管道,命名管道
  • 7.符号链接
  • 8.底层的socket字流,网络socket,unix域名socket
  • 9.在linux里面,大部分的东西都是被当做文件的

怎样使用lsof

  • 1.列出所有打开的文件:

lsof

备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位

  1. 查看谁正在使用某个文件

    lsof /filepath/file

3.递归查看某个目录的文件信息

lsof +D /filepath/filepath2/

备注: 使用了+D,对应目录下的所有子目录和文件都会被列出

  1. 比使用+D选项,遍历查看某个目录的所有文件信息 的方法

    lsof | grep ‘/filepath/filepath2/’

  2. 列出某个用户打开的文件信息

    lsof -u username

    备注: -u 选项,u其实是user的缩写

  3. 列出某个程序所打开的文件信息

    lsof -c mysql

    备注: -c 选项将会列出所有以mysql开头的程序的文件,其实你也可以写成 lsof | grep mysql, 但是第一种方法明显比第二种方法要少打几个字符了

  4. 列出多个程序多打开的文件信息

lsof -c mysql -c apache

  1. 列出某个用户以及某个程序所打开的文件信息

lsof -u test -c mysql

  1. 列出除了某个用户外的被打开的文件信息

lsof -u ^root

备注:^这个符号在用户名之前,将会把是root用户打开的进程不让显示

  1. 通过某个进程号显示该进行打开的文件

lsof -p 1

  1. 列出多个进程号对应的文件信息

lsof -p 123,456,789

  1. 列出除了某个进程号,其他进程号所打开的文件信息

lsof -p ^1

13 . 列出所有的网络连接

lsof -i

  1. 列出所有tcp 网络连接信息

lsof -i tcp

  1. 列出所有udp网络连接信息

lsof -i udp

  1. 列出谁在使用某个端口

lsof -i :3306

  1. 列出谁在使用某个特定的udp端口

lsof -i udp:55

特定的tcp端口

lsof -i tcp:80

  1. 列出某个用户的所有活跃的网络端口

lsof -a -u test -i

  1. 列出所有网络文件系统

lsof -N

20.域名socket文件

lsof -u

21.某个用户组所打开的文件信息

lsof -g 5555

  1. 根据文件描述列出对应的文件信息

lsof -d description(like 2)

  1. 根据文件描述范围列出文件信息

lsof -d 2-3

常用命令备忘 lsof的更多相关文章

  1. metasploit 常用命令备忘

    metasploit 常用命令备忘    MSFconsole Commands-------------------------------------24show exploits 查看所有exp ...

  2. CentOS常用命令备忘

    1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...

  3. linux下常用命令备忘

    转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...

  4. Maven 常用命令, 备忘

    Maven在现在的Java项目中有非常重要的地位, Maven已经不是Ant这样仅仅用于构建, 首先, 它是一个构建工具, 把源代码编译并打包成可发布应用的构件工具其次, 它是一个依赖管理工具, 集中 ...

  5. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  6. 【转】Git常用命令备忘

    Git配置 git config --global user.name "robbin" git config --global user.email "fankai@g ...

  7. 常用命令备忘 xargs

    xargs 作为使用率很高的命令,但是长久不用就会模糊了记忆,所以要记录下来. 获取所有的cobbler相关的布尔值然后全部设置为真 getsebool -a|grep cobbler|awk '{p ...

  8. Xshell常用命令备忘

    (1)命令ls——列出文件ls 显示当前目录文件ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的隐藏”文件ls a* 列出当前目录下以字母a开头的所有文件ls -l *.doc 给出 ...

  9. Linux 常用命令备忘

    安装wget 方便联网下载:  centos : sudo yum -y install wget 安装vim   :  yum -y install vim* set nu              ...

随机推荐

  1. redis 安装使用 & SpringBoot Redis配置

    1.安装 https://www.cnblogs.com/dingguofeng/p/8709476.html https://www.runoob.com/redis/redis-keys.html ...

  2. 10 查询字符串,X字段必须包含(不包含)XX;_all原理

    指定某个字段,必须要包含XX字符 GET /beauties/my/_search?q=Name:Chang Wei   搜出 某个字段不包含XX字符 的所有内容 GET /beauties/my/_ ...

  3. Synchronized 和 Lock 的主要区别(转)

    Synchronized 和 Lock 的主要区别Synchronzied 和 Lock 的主要区别如下: 存在层面:Syncronized 是Java 中的一个关键字,存在于 JVM 层面,Lock ...

  4. 能够提高PHP的性能的一些注意事项

      1. 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍.(静态类调用属性和方法,只可以调用静态属性和方法.self::方法名().self::属性名.只有实例化 ...

  5. 常用的HTTP响应头

    响应头 说明 示例 状态 Access-Control-Allow-Origin 指定哪些网站可以跨域源资源共享 Access-Control-Allow-Origin: * 临时 Accept-Pa ...

  6. django+celery+redis环境配置

    celery是python开发的分布式任务调度模块 Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前,celery支持的消息服务有RabbitMQ,redis甚至是数据库,redis ...

  7. centOS学习part6:安装oracle 11g

    0 大家好.上一章(http://www.cnblogs.com/souvenir/p/3881484.html)我们对oracle在centOS下的安装进行了各项环境准备,本章我们将正式进行oral ...

  8. 在iMac上建立一个git仓库

    前沿:一般我们去git clone 的时候,数据直接指向了某某分支的最后一次提交.想想 我们每次提交的不同点都在哪,去 当前工程文件下找到 .git 文件夹,去下面自己看看吧 - .git - .co ...

  9. python多进程间通信

    这里使用pipe代码如下: import time from multiprocessing import Process import multiprocessing class D: @stati ...

  10. Topshelf+Quartz实现windows任务

    Topshelf使用示例, HostFactory.Run(x => { x.Service<QuartzStartup>(s => { s.ConstructUsing(na ...