日期:2014-05-16  浏览次数:20804 次

你应该知道的linux命令 — lsof

在linux下有很多好用的命令,今天这里介绍lsof 命令

lsof命令是什么?

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

1.普通的文件,2.目录 ?3.网络文件系统的文件,4.字符设备文件 ?5.(函数)共享库 ?6.管道,命名管道?7.符号链接

8.底层的socket字流,网络socket,unix域名socket

9.在linux里面,大部分的东西都是被当做文件的…..还有其他很多

怎样使用lsof

这里主要用案例的形式来介绍lsof 命令的使用

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

lsof

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

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

lsof ? /filepath/file

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

lsof +D /filepath/filepath2/

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

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

lsof | grep ‘/filepath/filepath2/’

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

lsof ?-u username

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

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

lsof -c mysql