如何在 Linux 中檢視可用的網路介面
在我們安裝完一個 Linux 系統後最為常見的任務便是網路配置了。當然,你可以在安裝系統時進行網路介面的配置。但是,對於某些人來說,他們更偏愛在安裝完系統後再進行網路的配置或者更改現存的設定。眾所周知,為了在命令列中進行網路設定的配置,我們首先必須知道系統中有多少個可用的網路介面。本次這個簡單的指南將列出所有可能的方式來在 Linux 和 Unix 作業系統中找到可用的網路介面。
在 Linux 中找到可用的網路介面
我們可以使用下面的這些方法來找到可用的網路介面。
方法 1 使用 ifconfig 命令
使用 ifconfig
命令來檢視網路介面仍然是最常使用的方法。我相信還有很多 Linux 使用者仍然使用這個方法。
$ ifconfig -a
示例輸出:
enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet)
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
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 171420 bytes 303980988 (289.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 171420 bytes 303980988 (289.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255
inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global>
inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link>
ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet)
RX packets 564574 bytes 628671925 (599.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 299706 bytes 60535732 (57.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如上面的輸出所示,在我的 Linux 機器上有兩個網路介面,它們分別叫做 enp5s0
(主機板上的有線網路卡)和 wlp9s0
(無線網路卡)。其中的 lo
是環回網路卡,被用來訪問本地的網路的服務,通常它的 IP 地址為 127.0.0.1
。
我們也可以在許多 UNIX 變種例如 FreeBSD 中使用相同的 ifconfig
來列出可用的網路卡。
方法 2 使用 ip 命令
在最新的 Linux 版本中, ifconfig
命令已經被棄用了。你可以使用 ip
命令來羅列出網路介面,正如下面這樣:
$ ip link show
示例輸出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff
3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
你也可以使用下面的命令來檢視。
$ ip addr
$ ip -s link
你注意到了嗎?這些命令同時還顯示出了已經連線的網路介面的狀態。假如你仔細檢視上面的輸出,你將注意到我的有線網路卡並沒有跟網路線纜連線(從上面輸出中的 DOWN
可以看出)。另外,我的無線網路卡已經連線了(從上面輸出中的 UP
可以看出)。想知曉更多的細節,可以檢視我們先前的指南 在 Linux 中檢視網路介面的已連線狀態。
這兩個命令(ifconfig
和 ip
)已經足夠在你的 LInux 系統中檢視可用的網路卡了。
然而,仍然有其他方法來列出 Linux 中的網路介面,下面我們接著看。
方法 3 使用 /sys/class/net 目錄
Linux 核心將網路介面的詳細資訊儲存在 /sys/class/net
目錄中,你可以透過檢視這個目錄的內容來檢驗可用介面的列表是否和前面的結果相符。
$ ls /sys/class/net
示例輸出:
enp5s0 lo wlp9s0
方法 4 使用 /proc/net/dev 目錄
在 Linux 作業系統中,檔案 /proc/net/dev
中包含有關網路介面的資訊。
要檢視可用的網路卡,只需使用下面的命令來檢視上面檔案的內容:
$ cat /proc/net/dev
示例輸出:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0
enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0
方法 5 使用 netstat 命令
netstat
命令可以列出各種不同的資訊,例如網路連線、路由表、介面統計資訊、偽裝連線和多播成員等。
$ netstat -i
示例輸出:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
lo 65536 171420 0 0 0 171420 0 0 0 LRU
wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU
請注意 netstat
被棄用了, netstat -i
的替代命令是 ip -s link
。另外需要注意的是這個方法將只列出啟用的介面,而不是所有可用的介面。
方法 6 使用 nmcli 命令
nmcli
是一個用來控制 NetworkManager 和報告網路狀態的命令列工具。它可以被用來建立、展示、編輯、刪除、啟用、停用網路連線和展示網路狀態。
假如你的 Linux 系統中安裝了 NetworkManager,你便可以使用下面的命令來使用 nmcli
列出可以的網路介面:
$ nmcli device status
或者
$ nmcli connection show
現在你知道了如何在 Linux 中找到可用網路介面的方法,接下來,請檢視下面的指南來知曉如何在 Linux 中配置 IP 地址吧。
- 如何在 Linux 和 Unix 中配置靜態 IP 地址
- 如何在 Ubuntu 18.04 LTS 中配置 IP 地址
- 如何在 Arch Linux 中配置靜態和動態 IP 地址
- 如何在 Linux 中為單個網路卡分配多個 IP 地址
假如你知道其他快捷的方法來在 Linux 中找到可用的網路介面,請在下面的評論部分中分享出來,我將檢查你們的評論並更新這篇指南。
這就是全部的內容了,更多精彩內容即將呈現,請保持關注!
乾杯!
via: https://www.ostechnix.com/how-to-find-available-network-interfaces-on-linux/
相關文章
- 如何在Ubuntu上找出可用的網路介面卡Ubuntu
- 如何在Linux中檢視所有正在執行的程式Linux
- 在Ubuntu中檢視網路路由表的方法Ubuntu路由
- 如何在MonogoDB中檢視配置的引數值MonoGo
- 如何在 Antergos 與 Arch Linux 中檢視印度語和梵文?GoLinux
- 如何在 Linux 中檢視已掛載的檔案系統型別Linux型別
- 如何在vsCode中檢視git historyVSCodeGit
- Linux 中檢視 DNS 與 配置LinuxDNS
- 在 Linux 中檢視你的時區Linux
- CNNIC:網路視訊直播的魅力到底何在CNN
- 如何SQL Server中檢視對映網路驅動器NASQLServer
- Linux中檢視程式的多執行緒Linux執行緒
- Linux中檢視yum安裝的jdk位置LinuxJDK
- 如何在Macbook中檢視並刪除最近下載的檔案?Mac
- 在Linux中,如何檢視網路介面的狀態?Linux
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- windows cmd中檢視某個命令所在的路徑Windows
- 在linux中檢視cpu個數方法Linux
- Linux 中的虛擬網路介面Linux
- 如何在 Mac 上的排程中心中檢視開啟的視窗和空間?Mac
- 如何在MySQL中檢視binlog二進位制日誌?MySql
- Java基礎:如何在IDEA中檢視依賴關係JavaIdea
- 在Swift中檢查API的可用性SwiftAPI
- 華納雲:如何在CentOS中檢視當前系統的負載情況CentOS負載
- 如何在 Ubuntu 中檢查你的 IP 地址Ubuntu
- Shell指令碼 – 檢視網路介面資訊指令碼
- iOS 12+ 中檢測網路訪問iOS
- linux 檢視網路埠Linux
- linux中檢視檔案時顯示行號Linux
- Linux中檢視系統資源使用情況Linux
- 如何在 Linux 下統計高速網路中的流量Linux
- Linux 下網路介面卡配置Linux
- 如何在linux上手動連線到網際網路Linux
- Linux檢視網路流量的指令碼Linux指令碼
- 配置Linux環境下多網路卡高可用網路埠Linux
- 如何在cmd命令列中檢視、修改、刪除與新增環境變數命令列變數
- linux系統中檢視己設定iptables規則Linux
- Centos中檢視nginx、apache、php、mysql配置檔案路徑CentOSNginxApachePHPMySql