請關注本頭條号,每天堅持更新原創幹貨技術文章。
如需學習視訊,請在微信搜尋公衆号“智傳網優”直接開始自助視訊學習
1. 前言
本文主要講解Linux系統中應該如何使用檢視ip位址指令,很多Linux使用者應該發現,在新版的Linux發行版中,ifconfig已經不行了,不能使用了。那麼,Linux檢視ip位址應該使用什麼指令呢?
如何在Linux指令行中查找系統的IP位址?對于許多Linux使用者來說,這是一個常見的問題。
本教程适用于Ubuntu系統、Linux Mint系統、Deepin深度Linux系統、Fedora系統、Debian系統、Elementary OS系統、OpenSUSE系統、CentOS系統、RHEL系統,Arch Linux等等GNU Linux發行版。
linux檢視ip位址指令ipconfig不行
2. 常用的檢視IP位址的指令`ipconfig`沒有找到?
幾年前,ifconfig是了解Linux中IP位址的首選方法。不幸的是,ifconfig指令已被棄用。如果你今天嘗試使用這個指令,你很可能會看到以下錯誤:
command not found: ifconfig
提示ifconfig指令沒有找到。
那麼,如何在Linux系統中檢視IP位址呢?我來教你怎麼做。
常用的檢視IP位址的指令ifconfig沒有找到?
3. 在Linux指令行中檢視IP位址
您可以使用ip指令。ip指令是通用的,可以用于與網絡相關的其他一些事情。
但隻是為了顯示IP位址,使用指令與IP addr, IP a或IP位址選項(都是相同的),如下所示:
ip address
你會看到這樣的輸出:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:06:9b:34 brd ff:ff:ff:ff:ff:ff inet 192.168.201.138/24 brd 192.168.201.255 scope global noprefixroute dynamic ens33 valid_lft 1249sec preferred_lft 1249sec inet6 fe80::743d:d060:ccc9:b196/64 scope link noprefixroute valid_lft forever preferred_lft forever
在上面的輸出中,您可以忽略第一個名為lo (loopback)的輸出。您可以看到IP位址顯示為192.168.201.138。後面的24是子網路遮罩。
在Linux指令行中使用ip addr檢視IP位址
就是這樣簡單。這就是在Linux指令行中顯示主機系統IP位址的方式。
4. 在Linux中檢視系統IP位址的其他方法
在Linux中檢視系統IP位址的其他方法
4.1 用`hostname`指令顯示IP位址
hostname指令通常顯示系統的主機名。也可以用來顯示主機的IP位址:
hostname -I
它将簡單地顯示終端主機的IP位址。
192.168.201.138
用hostname指令顯示IP位址
4.2 使用`nmcli`工具顯示IP位址
大多數Linux發行版都帶有網絡管理器工具。這個工具有一個名為nmcli的指令行工具。您可以使用這個nmcli工具檢視許多網絡配置。
IP位址可以顯示為:
nmcli -p device show
您應該在輸出中看到IP位址。
使用nmcli工具顯示IP位址
5. `ifconfig`指令為什麼不行了?
實際上,您仍然可以使用ifconfig指令。它出現在net-tools包中。您可以使用系統的包管理器安裝它。但是,不鼓勵使用網絡工具,是以我建議堅持使用ip指令。
在基于ubuntu的發行版中,您可以使用以下指令安裝net-tools:
sudo apt install net-tools
CentOS/RHEL/Fedora系統
yum -y install net-tools
現在可以使用ifconfig指令檢視Linux系統的IP位址。
[[email protected] ~]# ifconfig -a
ens33: flags=4163 mtu 1500 inet 192.168.201.138 netmask 255.255.255.0 broadcast 192.168.201.255 inet6 fe80::743d:d060:ccc9:b196 prefixlen 64 scopeid 0x20 ether 00:0c:29:06:9b:34 txqueuelen 1000 (Ethernet) RX packets 283 bytes 30572 (29.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 220 bytes 30007 (29.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
以使用ifconfig指令顯示系統的IP位址
再一次提醒,ifconfig指令已經被棄用,不應該使用。
6. 額外提示:如何查找伺服器的公網IP位址
到目前為止,您看到的是顯示系統的私有IP位址。我的意思是如果你使用網絡路由器,你很可能在NAT的後面。
系統的IP位址是私有的,僅用于與子網絡上的裝置通信。您的家庭/工作網絡之外的任何裝置都無法使用此IP位址找到您。他們現在需要你的路由器的IP位址。您的路由器識别您的裝置,并通過私有IP位址通信。
如何獲得您的公共IP位址(路由器的IP位址)?您必須使用第三方工具。
請參考本部落格的另一篇文章
Linux系統怎麼使用指令行查詢公網IP位址(4種方法)
7. 總結
通過本文的學習,您應該了解如何在linux中正确使用檢視ip位址指令了吧?也應該已經了解到為什麼在新發行的Linux版本中,ifconfig指令不行的原因了吧?
相關閱讀:
linux怎麼檢視ip位址和網卡MAC位址