lsof 列出當前系統開啟的檔案資訊

2022-04-29 03:54:06 字數 2472 閱讀 1130

1.lsof查詢原理

在linux系統中,系統為了方便管理程序,會在/proc下為每乙個執行中的程序建立乙個目錄,目錄名就是程序號,而在程序的目錄下有乙個叫作fd的目錄,這個目錄下存放的是程序開啟的所有檔案。而lsof命令搜尋的其實就是/proc/$pid/fd下面的檔案。

[root@localhost ~]# lsof

command pid tid user fd type device size/off node name

systemd 1 root cwd dir 253,0 4096 128 /

systemd 1 root rtd dir 253,0 4096 128 /

systemd 1 root txt reg 253,0 1214424 353923 /usr/lib/systemd/systemd

systemd 1 root mem reg 253,0 61624 67175738 /usr/lib64/libnss_files-2.17.so

systemd 1 root mem reg 253,0 90632 67211369 /usr/lib64/libz.so.1.2.7

systemd 1 root mem reg 253,0 19888 67211548 /usr/lib64/libattr.so.1.1.0

systemd 1 root mem reg 253,0 115848 67175725 /usr/lib64/libnsl-2.17.so

systemd 1 root mem reg 253,0 153184 67176234 /usr/lib64/liblzma.so.5.0.99

systemd 1 root mem reg 253,0 398264 67176278 /usr/lib64/libpcre.so.1.2.0

......

# command:程序的名稱,如果程序的名字很長,則這裡只會顯示前9個字元。

# pid:程序識別符號。如果執行命令時指定-r引數,則父程序識別符號ppid也會顯示出來。

# user:程序所有者。如果執行命令時指定-g引數,則程序所屬組識別符號pgid也會顯示出來。

# fd:一般是指檔案描述符。

# type:檔案型別,如dir、reg等,常見的檔案型別。

◇ dir:表示目錄。

◇ reg:表示普通檔案。

◇ chr:表示字元型別。

◇ blk:塊裝置型別。

◇ unix:unix域套接字。

◇ fifo:先進先出(fifo)佇列。

◇ ipv4/ipv6:網際協議(ip)套接字。

# device:磁碟的名稱。

# size:檔案的大小。

# node:索引節點(檔案在磁碟上的標識)。

# name:開啟檔案的確切名稱。

fd:兩種檔案描述符

desc

第一類是檔案描述符

0表示標準輸入。

1表示標準輸出。

2表示標準錯誤輸出。

n表示其他檔案描述符的數值

第二類的描述檔案特徵的標識

cwd:應用程式的當前工作目錄,也是該應用程式啟動的目錄。

txt:該型別檔案是程式**或資料。

mem:記憶體對映檔案。

pd:父目錄。

rtd:根目錄。

del:表示檔案已經被程序刪除但還在記憶體中存在。

2.檢視誰正在使用某個檔案

lsof   /filepath/file
3:檢視埠被誰占用

lsof -i:port

lsof -i udp:55

4.列出某個程式開啟的檔案資訊

lsof -c sshd
5.通過某個程序號顯示該進行開啟的檔案

lsof -p 1
6.列出所有tcp 網路連線資訊

lsof  -i tcp
7.列出某個使用者開啟的檔案資訊

lsof  -u username

Linux命令lsof檢視當前系統的IO情況

在linux上的lsof命令可以檢視當前系統當前使用的檔案情況,當然也可以檢視網路socket通訊情況。lsof 檢視所有系統io操作 lsof etc passwd 檢視程序對檔案系統的使用 lsof p 檢視指定程序使用的io情況,通常可以使用這個命令檢視程序開啟的檔案。lsof i aaa.b...

linux檢視開啟檔案的命令 lsof

簡介 lsof可以列出某個程序開啟的所有檔案資訊。開啟的檔案可能是普通的檔案,目錄,nfs檔案,塊檔案,字元檔案,共享庫,常規管道,明明管道,符號鏈 接,socket流,網路socket,unix域socket,以及其它更多。因為unix系統中幾乎所有東西都是檔案,你可以想象lsof該有多有用。ls...

用lsof檢視程序開啟的檔案情況

lsof語法格式是 lsof options filenamelsof abc.txt 顯示開啟檔案abc.txt的程序 lsof c abc 顯示abc程序現在開啟的檔案 lsof c p 1234 列出程序號為1234的程序所開啟的檔案 lsof g gid 顯示歸屬gid的程序情況 lsof ...