linux中如何查看某個端口是否被占用
之前查詢端口是否被占用一直搞不明白,問了好多人,終於搞懂了,現在總結下:
1.netstat -anp |grep 端口號
如下,我以3306為例,netstat -anp |grep 3306(此處備注下,我是以普通用戶操作,故加上了sudo,如果是以root用戶操作,不用加sudo即可查看),如下圖1:

圖1
圖1中主要看監控狀態為LISTEN表示已經被占用,最后一列顯示被服務mysqld占用,查看具體端口號,只要有如圖這一行就表示被占用了。
2.netstat -nultp(此處不用加端口號)
該命令是查看當前所有已經使用的端口情況,如圖2:

圖2
圖中可以看出我的82端口沒有被占用
3.netstat -anp |grep 82查看82端口的使用情況,如圖3:

圖3
可以看出並沒有LISTEN那一行,所以就表示沒有被占用。此處注意,圖中顯示的LISTENING並不表示端口被占用,不要和LISTEN混淆哦,查看具體端口時候,必須要看到tcp,端口號,LISTEN那一行,才表示端口被占用了
參數介紹
-a (all) 顯示所有選項,默認不顯示LISTEN相關。
-t (tcp) 僅顯示tcp相關選項。
-u (udp) 僅顯示udp相關選項。
-n 拒絕顯示別名,能顯示數字的全部轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態。
-p 顯示建立相關鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
LISTEN和LISTENING的狀態只有用-a或者-l才能看到。
參考:https://www.cnblogs.com/hindy/p/7249234.html
參考:https://blog.csdn.net/dongl890426/article/details/86981901
