溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何入門(mén)Linux的命令神器lsof

發(fā)布時(shí)間:2021-11-11 17:24:53 來(lái)源:億速云 閱讀:124 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹如何入門(mén)Linux的命令神器lsof ,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

lsof是系統(tǒng)管理/安全的尤伯工具。我大多數(shù)時(shí)候用它來(lái)從系統(tǒng)獲得與網(wǎng)絡(luò)連接相關(guān)的信息,但那只是這個(gè)強(qiáng)大而又鮮為人知的應(yīng)用的第一步。將這個(gè)工具稱(chēng)之為lsof真實(shí)名副其實(shí),因?yàn)樗侵浮?strong>列出打開(kāi)文件(lists openfiles)”。而有一點(diǎn)要切記,在Unix中一切(包括網(wǎng)絡(luò)套接口)都是文件。

有趣的是,lsof也是有著最多開(kāi)關(guān)的Linux/Unix命令之一。它有那么多的開(kāi)關(guān),它有許多選項(xiàng)支持使用-和+前綴。

正如你所見(jiàn),lsof有著實(shí)在是令人驚訝的選項(xiàng)數(shù)量。你可以使用它來(lái)獲得你系統(tǒng)上設(shè)備的信息,你能通過(guò)它了解到指定的用戶(hù)在指定的地點(diǎn)正在碰什么東西,或者甚至是一個(gè)進(jìn)程正在使用什么文件或網(wǎng)絡(luò)連接。

對(duì)于我,lsof替代了netstat和ps的全部工作。它可以帶來(lái)那些工具所能帶來(lái)的一切,而且要比那些工具多得多。那么,讓我們來(lái)看看它的一些基本能力吧:

關(guān)鍵選項(xiàng)

理解一些關(guān)于lsof如何工作的關(guān)鍵性東西是很重要的。最重要的是,當(dāng)你給它傳遞選項(xiàng)時(shí),默認(rèn)行為是對(duì)結(jié)果進(jìn)行“或”運(yùn)算。因此,如果你正是用-i來(lái)拉出一個(gè)端口列表,同時(shí)又用-p來(lái)拉出一個(gè)進(jìn)程列表,那么默認(rèn)情況下你會(huì)獲得兩者的結(jié)果。

下面的一些其它東西需要牢記:

  • 默認(rèn) : 沒(méi)有選項(xiàng),lsof列出活躍進(jìn)程的所有打開(kāi)文件

  • 組合 : 可以將選項(xiàng)組合到一起,如-abc,但要當(dāng)心哪些選項(xiàng)需要參數(shù)

  • -a : 結(jié)果進(jìn)行“與”運(yùn)算(而不是“或”)

  • -l : 在輸出顯示用戶(hù)ID而不是用戶(hù)名

  • -h : 獲得幫助

  • -t : 僅獲取進(jìn)程ID

  • -U : 獲取UNIX套接口地址

  • -F : 格式化輸出結(jié)果,用于其它命令??梢酝ㄟ^(guò)多種方式格式化,如-F pcfn(用于進(jìn)程id、命令名、文件描述符、文件名,并以空終止)

獲取網(wǎng)絡(luò)信息

正如我所說(shuō)的,我主要將lsof用于獲取關(guān)于系統(tǒng)怎么和網(wǎng)絡(luò)交互的信息。這里提供了關(guān)于此信息的一些主題:

使用-i顯示所有連接

有些人喜歡用netstat來(lái)獲取網(wǎng)絡(luò)連接,但是我更喜歡使用lsof來(lái)進(jìn)行此項(xiàng)工作。結(jié)果以對(duì)我來(lái)說(shuō)很直觀(guān)的方式呈現(xiàn),我僅僅只需改變我的語(yǔ)法,就可以通過(guò)同樣的命令來(lái)獲取更多信息。

使用-i 6僅獲取IPv6流量
僅顯示TCP連接(同理可獲得UDP連接)

你也可以通過(guò)在-i后提供對(duì)應(yīng)的協(xié)議來(lái)僅僅顯示TCP或者UDP連接信息。

使用-i:port來(lái)顯示與指定端口相關(guān)的網(wǎng)絡(luò)信息

或者,你也可以通過(guò)端口搜索,這對(duì)于要找出什么阻止了另外一個(gè)應(yīng)用綁定到指定端口實(shí)在是太棒了。

使用@host來(lái)顯示指定到指定主機(jī)的連接

這對(duì)于你在檢查是否開(kāi)放連接到網(wǎng)絡(luò)中或互聯(lián)網(wǎng)上某個(gè)指定主機(jī)的連接時(shí)十分有用。

使用@host:port顯示基于主機(jī)與端口的連接

你也可以組合主機(jī)與端口的顯示信息。

找出監(jiān)聽(tīng)端口

找出正等候連接的端口。

你也可以grep “LISTEN”來(lái)完成該任務(wù)。

找出已建立的連接

你也可以顯示任何已經(jīng)連接的連接。

你也可以通過(guò)grep搜索“ESTABLISHED”來(lái)完成該任務(wù)。

關(guān)于如何入門(mén)Linux的命令神器lsof 就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI