lsof命令詳解

2021-07-09 19:32:56 字數 1404 閱讀 4025

lsof:乙個功能強大的命令 

lsof命令的原始功能是列出開啟的檔案的程序,但linux下,所有的裝置都是以檔案的行式存在的,所以,lsof的功能很強大! 

語法:lsof [-?ahlnnprsv][-c c][+|-d d][+|-d d][-g [s]] [+|-l [i]][-p s][+|-r [t]][-u s][names] 

引數說明:若沒有加上任何引數,lsof會列出所有被程式開啟的檔案。 

-? -h 這兩個引數意思相同,顯示出lsof的使用說明 -a 引數被視為and,會影響全部的引數 

-c c 顯示出以字元或字串c開頭的命令程式開啟的檔案,如$lsof -c init 

+d s 在資料夾s下搜尋,此引數不會繼續深入搜尋此資料夾。如顯示在/usr/local下被程式開啟的檔案:$lsof +d /usr/local +d d 同上,但是會以該檔案為基礎往下全部搜尋,這樣花費較大的cpu時 間,請謹慎使用 

-d s 此引數以file descriptor(fd)值顯示結果,可以採用範圍(1-3)或個別,如顯示fd為4的程序:$lsof -d 4 

-g [s] 以程式的pgid顯示,也可以採用範圍或個別表示,若沒有特別指定,則顯示全部,如顯示pgid為6的程序:$lsof -g 6 

-i 用以監聽有關的任何符合的位址,若沒有相關位址被指定,則監聽全部  

語法: lsof -i [46][protocol][@hostname|hostaddr][:serivce|port] 

說明: 46  ipv4 or ipv6 

protocol tcp or udp 

hostname internet host name 

hostaddr ipv4位址 

service /etc/service中的service name 

port 埠號 

-l 此引數禁止將user id 轉換為登入的名稱,預設是登入名稱 

+|-l [l] +或-表示開啟或關閉顯示檔案連線數,如果只有單純的+l,後面沒有任何數字,則表示顯示全部,如果後面有數字,只有檔案連線數少於該數字的會被列出 

-n 不將ip位址轉換為hostname,預設是轉換的 

-n 顯示nfs的檔案 

-p s 以pid作為顯示的依據 

-p 此引數禁止將port number轉換為service name,預設為轉換 

+|-r [t] 控制lsof不斷重複執行,t為15秒,也就是說每隔15秒再重複執行 +r 一直執行,直到沒有檔案被顯示 -r 永遠不斷的執行,直到收到中斷訊號(ctrl+ c) 

-r 此引數增列出pid的子程式,也就是ppid 

-s 列出檔案的大小,若該檔案沒有大小,則留下空白 

-u s 列出login name或uid為的程式 

-v 顯示lsof的版本資訊 

Lsof命令詳解

一般root使用者才能執行lsof命令,普通使用者可以看見 usr sbin lsof命令,但是普通使用者執行會顯示 permission denied 我總結一下lsof指令的用法 lsof abc.txt 顯示開啟檔案abc.txt的程序 lsof i 22 知道22埠現在執行什麼程式 lsof...

lsof 命令詳解

lsof list open files 代表列出一些列開啟的檔案。在unix系統中,每乙個東西都是乙個檔案 管道,套接字,目錄,裝置等 這樣的話,你可以通過lsof命名列出所有開啟的檔案。預設情況下,lsof僅僅列出一些列屬於啟用程序的大檔案。command pid user fd type de...

lsof命令 詳解

lsof命令的原始功能是列出開啟的檔案的程序,但linux下,所有的裝置都是以檔案的行式存在的,所以,lsof的功能很強大!語法 lsof ahlnnprsv c c d d d d g s l i p s r t u s names 引數說明 若沒有加上任何引數,lsof會列出所有被程式開啟的檔案...