您好,登錄后才能下訂單哦!
Linux系統lsof命令的使用方法,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
lsof(list open files)是一個列出當前系統打開文件的工具。
在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以,lsof的功能很強大。
一般root用戶才能執行lsof命令,普通用戶可以看見/usr/sbin/lsof命令,但是普通用戶執行會顯示“permission denied”。
通過lsof工具能夠查看這個列表對系統監測以及排錯將是很有幫助的。
在終端下輸入lsof即可顯示系統打開的文件,因為 lsof 需要訪問核心內存和各種文件,所以必須以 root 用戶的身份運行它才能夠充分地發揮其功能。
每行顯示一個打開的文件,若不指定條件默認將顯示所有進程打開的所有文件。lsof輸出各列信息的意義如下:COMMAND:進程的名稱PID:進程標識符USER:進程所有者FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等TYPE:文件類型,如DIR、REG等DEVICE:指定磁盤的名稱SIZE:文件的大小NODE:索引節點(文件在磁盤上的標識)NAME:打開文件的確切名稱
lsof指令的用法如下:
lsof abc.txt 顯示開啟文件abc.txt的進程
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)--------------------------------------
lsof -i 用以顯示符合條件的進程情況
語法: lsof -i[46] [:service|port]
46 -> IPv4 or IPv6
protocol -> TCP or UDP
hostname -> Internet host name
hostaddr -> IPv4位置
service -> /etc/service中的 service name (可以不只一個)
port -> 端口號 (可以不只一個)
--------------------------------------lsof +|-r [t] 控制lsof不斷重復執行,缺省是15s刷新
-r,lsof會永遠不斷的執行,直到收到中斷信號
+r,lsof會一直執行,直到沒有檔案被顯示
例子:不斷查看目前ftp連接的情況:lsof -i tcp@192.168.1.111:ftp -r
Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是國內發展最好的Linux發行版之一;UbuntuKylin是基于Ubuntu的衍生發行版;Manjaro是基于Arch的Linux發行版;LinuxMint默認的Cinnamon桌面類似Windows XP簡單易用;Ubuntu則是以桌面應用為主的Linux操作系統。
看完上述內容,你們掌握Linux系統lsof命令的使用方法的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。