linux中lsof命令是什么意思

linux中lsof命令是什么意思

lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。

(推薦教程:linux教程

所以,lsof的功能很強大。一般root用戶才能執行lsof命令,普通用戶可以看見/usr/sbin/lsof命令,但是普通用戶執行會顯示“permission denied”。因此通過lsof工具能夠查看這個列表對系統監測以及排錯將是很有幫助的。

在終端下輸入lsof即可顯示系統打開的文件,因為 lsof 需要訪問核心內存和各種文件,所以必須以 root 用戶的身份運行它才能夠充分地發揮其功能。

linux中lsof命令是什么意思

每行顯示一個打開的文件,若不指定條件默認將顯示所有進程打開的所有文件。lsof輸出各列信息的意義如下:

COMMAND:進程的名稱

PID:進程標識符

USER:進程所有者

FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等

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

DEVICE:指定磁盤的名稱

SIZE:文件的大小

NODE:索引節點(文件在磁盤上的標識)

NAME:打開文件的確切名稱

lsof指令的用法如下:

lsof?abc.txt?顯示開啟文件abc.txt的進程 lsof?目錄名?查找誰在使用文件目錄系統

linux中lsof命令是什么意思

lsof -i :22 知道22端口被哪個進程占用

lsof -c abc 顯示abc進程現在打開的文件

lsof -g gid 顯示歸屬gid的進程情況

lsof -n 不將IP轉換為hostname,缺省是不加上-n參數

lsof -p 12 看進程號為12的進程打開了哪些文件

lsof -u username 查看用戶打開哪些文件

lsof -i @192.168.1.111 查看遠程已打開的網絡連接(連接到192.168.1.111)

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享