lsof命令是什么?是一个列出当前系统打开文件的工具。被打开的文件可以是1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设

一个日志文件把我绕进去了,处理问题被迫用到了lsof

本来只想看一下该日志文件被哪些进程占用

不过现在还是系统的来看看吧

lsof命令是什么?

是一个列出当前系统打开文件的工具。被打开的文件可以是

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

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

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

在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

COMMAND    PID      USER   FD      TYPE     DEVICE     SIZE       NODE      NAME

init       1         root  cwd      DIR       3,3       1024       2         /

init       1         root  rtd      DIR       3,3       1024       2         /

init       1         root  txt      REG       3,3       38432      1763452  /sbin/init

init       1         root  mem      REG       3,3       106114     1091620  /lib/libdl-2.6.so

init       1         root  mem      REG       3,3       7560696    1091614  /lib/libc-2.6.so

init       1         root  mem      REG       3,3       79460      1091669  /lib/libselinux.so.1

init       1         root  mem      REG       3,3       223280     1091668  /lib/libsepol.so.1

init       1         root  mem      REG       3,3       564136     1091607  /lib/ld-2.6.so

init       1         root  10u      FIFO      0,15                  1309     /dev/initctl

每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。lsof输出各列信息的意义如下:

COMMAND:进程的名称

PID:进程标识符

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等

TYPE:文件类型,如DIR、REG等

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称

其中FD 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。其次数值表示应用程序的文件描述符,,这是打开该文件时返回的一个整数。如上的最后一行文件/dev/initctl,其文件描述符为10。u 表示该文件被打开并处于读取/写入模式,而不是只读 或只写 (w) 模式。同时还有大写 的W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。与 FD 列相比,Type 列则比较直观。文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。

lsof 常见的用法是查找应用程序打开的文件的名称和数目。可用于查找出某个特定应用程序将日志数据记录到何处,或者正在跟踪某个问题。例如,linux限制了进程能够打开文件的数目。通常这个数值很大,所以不会产生问题,并且在需要时,应用程序可以请求更大的值(直到某个上限)。如果你怀疑应用程序耗尽了文件描述符,那么可以使用 lsof 统计打开的文件数目,以进行验证。lsof语法格式是:

linux 查看文件工具,lsof---Linux查看文件信息的强大工具相关推荐

  1. linux查看信息文件,lsof---Linux查看文件信息的强大工具

    一个日志文件把我绕进去了,处理问题被迫用到了lsof 本来只想看一下该日志文件被哪些进程占用 不过现在还是系统的来看看吧 lsof命令是什么? 是一个列出当前系统打开文件的工具.被打开的文件可以是 1 ...

  2. linux 查看进程的lsof,Linux 命令神器:lsof 入门

    lsof是系统管理/安全的尤伯工具.我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步.将这个工具称之为lsof真实名副其实,因为它是指"列出打开文 ...

  3. Kali linux下图片隐写,图片隐写信息快速检测工具——zsteg

    CTF的图片隐写题中有一种常见的题型--基于LSB原理的图片隐写,而最常用工具就是Stegsolve,但是过程还是有些缓慢和复杂,终于在一次比赛中发现了一个强大的工具--zsteg,这是一个用于检测P ...

  4. 查看端口所在进程linux,linux下用lsof查看端口所在的进程

    广告一下,我专门给大家翻译外文IT参考资料,想学的,可以关注,也可以关注我个人自己建的博客:http://www.1024sky.cn lsof查看端口被谁占用 2010-05-27 15:38 ls ...

  5. linux常用命令之lsof 、netstat、ipcs、ldd

    一.lsof lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.每行 ...

  6. Linux Performance Analysis and Tools(Linux性能分析和工具)

    摘自:http://my.oschina.net/greki/blog/336429 首先来看一张 图:  上面这张神一样的图出自国外一个Lead Performance Engineer(Brend ...

  7. lsof Linux

    LSOF是针对Unix的诊断和分析工具,它能显示出由系统里正在运行的进程所打开的文件,也能显示出每一个进程的通讯socket. lsof 简介lsof(list open files)是一个列出当前系 ...

  8. 计算机信息处理工具教案设计,《信息和信息处理工具》教案设计

    第1篇:<信息和信息处理工具>教案设计 教学目的和要求 1.了解什么是信息: 2.了解如何描述信息以及对信息进行获取.传递.处理的各种技术: 3.知道计算机技术和通信技术是两种重要的信息技 ...

  9. linux常用命令 打开文件,【Linux】常用命令 lsof查看打开的文件

    Linux系统把软硬件都抽象成文件,所以通过文件可以追踪到很多重要信息,如读取的配置文件.打开的端口等. 下面是常见的用法: 默认测试文件名为text.txt 1,显示打开text.txt的进程: l ...

最新文章

  1. 只会python好找工作吗-转行学Python能拿多少钱?二线工作好找吗?
  2. 跨链Cosmos(12) Cosmos插件
  3. http get post java_java发送http的get、post请求实现代码
  4. java stream foreach_Java 8 Lambda Stream forEach具有多个语句
  5. [Algorithm]一切始于ADT-表达式计算
  6. 如何快速对接大量的精准客户呢?
  7. HDU-2067-小兔的棋盘
  8. 1.5.7、CDH 搭建Hadoop在安装之前(定制安装解决方案---配置单用户模式)
  9. Web Components 系列(五)—— 关于 Templates
  10. LVS基本介绍及NAT模型配置示例
  11. Navicat for Oracle中如何使用外键
  12. flashpaper java_基于FlashPaper实现JSP在线阅读代码示例
  13. Scrapy爬虫框架管道文件pipelines数据图像存储
  14. 接受投资人投入材料一批_接受投资者投入材料的会计分录
  15. JAVA计算机毕业设计大学餐厅菜品推荐和点评系统Mybatis+系统+数据库+调试部署
  16. 【教学】深度学习小项目汇总_含源代码_包运行
  17. 网页简体转繁体的JS代码
  18. sketch如何做设计稿交互_设计干货 | Sketch 的交互插件强势更新,再也不用为跳转的事发愁了!...
  19. java 德文转码_web开发中的JAVA字符转码
  20. arp miss攻击_【交换机每周FAQ】交换机arp-miss原理以及如何排查。

热门文章

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的社区物业管理系统
  2. python 内存溢出能捕获吗_Python内存泄漏和内存溢出的解决方案
  3. 【纪中集训】2019.08.10【省选组】模拟TJ
  4. python基础学习(四)if判断语句
  5. 漫天飞舞的蒲公英你是我的幸福吗
  6. 通向KDE4之路(十一):Amarok2开辟起步
  7. Stackint stack = new Stackint报错原因
  8. Python稳基修炼之计算机等级考试易错概念题4(含答案与解析)
  9. 全选和全不选(管理员列表)----html文件
  10. 小议Python列表和元组中的元素地址连续性