Có cái gì đó giống như lsblk cho giao diện mạng không?


10

Có một lệnh Linux trực quan hóa các giao diện mạng được cấu hình trong chế độ xem dạng cây, giống như lsblkđối với các thiết bị khối không?

Ví dụ, đầu ra của một chương trình như vậy có thể trông như thế này (cách tiếp cận từ dưới lên):

eth0   
└─bond0
  ├─bond0.42
  │ └─br42
  └─bond0.43
    └─br43
eth1
└─bond0
  ├─bond0.42
  │ └─br42
  └─bond0.43
    └─br43
tap100i0
└─br42
tap100i1
└─br43
tap101i0
└─br42
tap101i1
└─br43

hoặc điều này (cách tiếp cận từ trên xuống):

br42
├─bond0.42
│ └─bond0
│   ├─eth0
│   └─eth1
├─tap100i0
└─tap101i0
br43
├─bond0.43
│ └─bond0
│   ├─eth0
│   └─eth1
├─tap100i1
└─tap101i1

Lưu ý: Tôi không tìm kiếm một công cụ tạo đầu ra chính xác này, mà hỏi xem có ai biết một lệnh có kết quả tương tự không.


Bạn đã thử ip addr??
Sidahmed

có, nhưng ip addrtrả về một danh sách phẳng các giao diện mạng, không phải dạng xem cây phân cấp
jlauinger

Câu trả lời:


5

Tôi đã tìm kiếm một tùy chọn trong các tiện ích hiện có nhưng tôi không tìm thấy bất kỳ. Tuy nhiên, chức năng mong muốn là hữu ích theo quan điểm của tôi. Vì vậy, tôi đã thực hiện một tập lệnh bash đơn giản để phân tích cú pháp ip link showlệnh và in một cái gì đó tương tự với đầu ra mong muốn trong câu hỏi:

$ ./nettree.sh -u
eth3
    bond1
       bond0
eth2
    bond0
eth1
    bond0
eth0
lupen3
    bond1
       bond0
lo
lxcbr0
virbr0
veth6404e35
    docker0

Tôi đã đẩy tập lệnh lên github: https://github.com/zabojcampula/show-net-devices-tree

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.