Làm thế nào để tìm ra số lượng giao diện mạng có sẵn trong một hệ thống linux?


7

Tôi cần phải lặp lại các giao diện mạng có sẵn trong Linux. Tôi quan tâm đến tất cả các loại giao diện (loopback, ethernet, vlan, cầu) - bất cứ điều gì xuất hiện ifconfig -a.

Có cách nào để liệt kê các giao diện trong Linux không? Bằng bất kỳ lệnh nào hoặc bằng cách đọc một tập tin?


1
Chà, cái này hoạt động ...ifconfig -a | grep 'flags' | wc -l
orion

@orion, tôi khuyên bạn nên sử dụng ipthay vì nó là một sự kế thừa của ifconfig- ip -o link show | wc -l. Xem câu hỏi này
VL-80

Bạn có thể nhìn vào netdevice(7)).
o11c

@Nikolay tất nhiên, đó là những gì tôi sẽ sử dụng và những người khác đã đăng câu trả lời đó (và xóa nó). Tôi chỉ muốn chỉ ra rằng từ những gì OP đã làm cho đến câu trả lời cho câu hỏi của anh ấy không còn xa lắm.
orion

Chỉ trong trường hợp nó giúp được bất cứ ai, việc thêm tùy chọn "1" vào lệnh ls sẽ liệt kê đầu ra một mục trên mỗi dòng, ví dụ: ls -A1 /sys/class/net eth0 lo usb0 wlan0Trên thực tế, tôi rất ngạc nhiên khi thấy số đếm sử dụng "wc -l" vẫn hoạt động trên phiên bản dòng đơn của lệnh (ls -A). Nhưng có khả năng các tình huống khác trong đó đầu ra trên mỗi dòng từ ls sẽ thích hợp hơn hoặc cần thiết.
Alex

Câu trả lời:


8

Bạn có thể nhận danh sách các giao diện này trên hầu hết các hệ thống sau:

ls -A /sys/class/net

Nhưng hãy cẩn thận khi phân tích cú pháp đầu ra từls trong tập lệnh của bạn.

Biên tập

Để có được tổng số giao diện mạng, đầu ra của lệnh này được wckhuyến nghị trong nhận xét của Nikolay như trong:

ls -A /sys/class/net | wc -l

1
Linux không cho phép tạo giao diện mạng với dòng mới trong tên của họ, nhưng nó cho phép giao diện mạng có tên bắt đầu ., vì vậy bạn cần ls -Aở đây.
Stéphane Chazelas

Lưu ý thưa ông, ty :)
111 ---

Điều này cho thấy tất cả các giao diện. Nhưng tôi quan tâm đến số lượng. (Tổng số không có giao diện)
user1762571

2
@ user1762571, sử dụng lệnh này ls -A /sys/class/net | wc -lhoặcip -o link show | wc -l
VL-80
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.