Linux下 獲取本機ip位址

2021-10-05 05:38:19 字數 596 閱讀 8786

查ip資訊可以使用ifconfig,但有時候我們需要使用指令碼語句來進行自動獲取。

方法一:

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6 | awk '' | tr -d "addr:"
當前語句可以排查出除了127.0.0.1之外的所有ip位址,但有些時候我們的虛擬機器上可能會繫結的有虛擬ip,這條語句會把兩個ip位址都篩選出來,除非進行前提條件我們進行了假設,可以提前知道我們需要的是哪一類的ip位址,然後進行篩選,否則可能拿不到我們需要的ip。

方法二:

nic_name=$(nmcli device | grep ethernet |grep connected|awk '')

nic_ip=(cat /etc/sysconfig/network-scripts/ifcfg-$ | grep ipaddr | cut -d=-f2)

使用該語句可以直接查詢到繫結在物理介面上的ip位址,前提需要該機器上安裝有nmcli的網路管理工具,只不過這條語句只能適用於靜態繫結ip位址的情況,如果是通過dhcp協議進行動態獲取的位址,則獲取不到ip。

Linux 獲取本機IP位址

linux 獲取本機ip位址 說明 family at inet ipv4 family at inet6 ipv6 address 提取得到的ip位址所要儲存的位址 size strlen sampleip 192.168.123.128 max ipv4 15 某些標頭檔案應在其他方面,在本程式...

獲取本機IP位址

cstring strlocalip char szhostname 64 memset szhostname,0x00,sizeof szhostname gethostname szhostname,sizeof szhostname phostent phost gethostbyname s...

獲取本機IP位址

第一步 載入winsock2靜態鏈結庫檔案。include pragma comment lib,ws2 32.lib bool loadwinsock 第二步 獲取本地的主機名稱。hostent phostent null char szhostname 256 memset szhostname...