lsof命令

lsof命令詳解

一、命令概述

lsof,全稱為“l(fā)ist open files”,是一個在Linux和Unix系統(tǒng)上非常有用的命令行工具,用于列出當前系統(tǒng)打開的文件。這里的“文件”不僅僅指傳統(tǒng)意義上的數(shù)據(jù)文件,還包括網(wǎng)絡(luò)連接、硬件設(shè)備等。通過lsof,用戶可以查看哪些進程打開了哪些文件,這對于診斷程序錯誤、系統(tǒng)掛起等問題特別有用。

二、功能作用

查看進程打開的文件:可用于查看程序訪問情況,如哪些程序正在訪問某個特定文件。
查看網(wǎng)絡(luò)連接信息:可以查看所有打開的網(wǎng)絡(luò)連接和套接字,適用于網(wǎng)絡(luò)監(jiān)控和故障排除。
快速查看目錄下被打開的文件:可以快速定位目錄下哪些文件被哪些進程打開。
與其他命令組合定位程序問題:如與strace合用追蹤程序訪問系統(tǒng)調(diào)用。
查看用戶打開的文件信息:可以指定用戶查看其打開的文件情況。
查看偽設(shè)備、管道等打開的文件情況:如內(nèi)存映射文件、設(shè)備文件等。

三、常見參數(shù)

-a:表示兩個參數(shù)都必須滿足時才顯示結(jié)果。
-c <進程名>:列出指定進程所打開的文件。
-g:列出GID號進程詳情。
-d <文件號>:列出占用該文件號的進程。
+d <目錄>:列出目錄下被打開的文件。
+D <目錄>:遞歸列出目錄下被打開的文件。
-n <目錄>:列出使用NFS的文件。
-i <條件>:列出符合條件的進程(如IP地址、端口號等)。
-p <進程號>:列出指定進程號所打開的文件。
-u:列出UID號進程詳情。

四、輸出信息說明

lsof命令的輸出信息包含多列,每列都有其特定的含義:

COMMAND:進程的名稱或命令名。
PID:進程ID,標識正在打開文件的進程。
USER:進程的用戶名,表示擁有該進程的用戶。
FD:文件描述符,描述進程打開文件的方式。常見的標識符包括cwd(當前工作目錄)、txt(可執(zhí)行文件)、mem(內(nèi)存映射文件)等。
TYPE:文件類型,指示打開文件的類型,包括普通文件、目錄、套接字等。
DEVICE:文件所在的設(shè)備號和設(shè)備的名稱。
SIZE/OFF:文件大小或文件偏移量。
NODE:文件的節(jié)點號。
NAME:打開文件的路徑和名稱。

五、注意事項

要查看所有用戶的文件信息,通常需要root權(quán)限。
lsof的輸出可能非常龐大,通常需要結(jié)合管道命令或其他過濾器使用。

通過lsof命令,管理員可以方便地查看系統(tǒng)打開的文件情況,從而進行故障排查和系統(tǒng)監(jiān)控。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡介:在Linux系統(tǒng)中,lsof命令用于列出當前系統(tǒng)上打開的文件。它對于系統(tǒng)管理員和開發(fā)人員來說非常有用,因為它...
    方生方死FSFS閱讀 148評論 0 0
  • 簡介 lsof(list open files)是一個列出當前系統(tǒng)打開文件的工具。在linux環(huán)境下,任何事物都以...
    Pecksniff1994閱讀 489評論 0 0
  • 轉(zhuǎn)載自:http://www.cnblogs.com/peida/archive/2013/02/26/29329...
    L白水飄萍閱讀 638評論 0 0
  • lsof(list open files)是一個列出當前系統(tǒng)打開文件的工具。在linux環(huán)境下,任何事物都以文件的...
    StarShift閱讀 961評論 0 0
  • lsof(list open files)是一個列出當前系統(tǒng)打開文件的工具。 lsof命令用于查看你進程開打的文件...
    北山學者閱讀 5,788評論 0 1

友情鏈接更多精彩內(nèi)容