「専用サーバー」には2つのNICがインストールされているはずですが、1つしか見つかりません。
私の質問:サーバーにインストールされているネットワークカードの数をテストするために利用できる他のコマンドと方法は何ですか?
lspci | grep Ethernet
他に利用可能なコマンド/メソッドはありますか?
Lshwを使用して、マシン上のすべてのデバイスを表示できます。ネットワークデバイスのみを表示するには、次のように入力します。
lshw -class network
ip link show
は、ネットワークインターフェイスのように見えるすべてのものをリストします。
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'
物理NICに関連するインターフェースのみを表示します。
論理的ではないが、悲しいことにip link show
へのtype
オプションを見つけようとしました:
ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | ip6gre | ip6gretap | vti | nlmon |
bond_slave | ipvlan | geneve | bridge_slave | vrf }
ip link show
ができないことのようです。少なくとも、最初に上記のそれぞれをリストし、次にtype
が指定されていない最後の実行に対してgrep -v
を実行するスクリプトに頼ることなくはできません。
イーサネットの場合:
ls -d /sys/class/net/eth* | wc -l
/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
lo: 3562 60 0 0 0 0 0 0 3562 60 0 0 0 0 0 0
wlan0: 2491781197 2034240 0 0 0 0 0 0 261797069 1502752 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ご覧のとおり、ファイルをcat
すると、多くの列と詳細が読みにくくなるため、そのファイルを読み取って出力を適切にフォーマットするifconfig
コマンドを使用することをお勧めします。
すべてのインターフェースをリストするには使用
/sbin/ifconfig -a
未構成/ダウンネットワークインターフェイスと、/proc/net/dev
から読み取った構成済みのアクティブなインターフェイスが表示されます。
modprobe -c |grep 'eth[0-9]'
各イーサネットデバイスで使用中の実際のデバイスドライバーを示します