특정 유형의 링크만 표시하도록 `ip addr show`를 얻는 방법

특정 유형의 링크만 표시하도록 `ip addr show`를 얻는 방법

ip addr show필터링을 위해 grep과 같은 보조 프로세스를 사용하지 않고 특정 유형의 링크만 표시하려면 어떻게 해야 합니까 ?

에 따르면남자 8 IP 주소, 다음을 사용하면 가능하지만 이를 실행하면 결과가 나오지 않습니다.

ip addr show type "link/loopback"
ip addr show type "loopback"

답변1

짧고 간단합니다.

hostname -i

일반적으로 루프백을 찾는 것이 아니라 IP를 찾는 것입니다.

hostname -I 

텍스트 노이즈를 줄이고 색상을 추가하면서 두 가지를 모두 원하는 경우

ip addr | grep inet 

답변2

나는 Python으로 이 작업을 마무리했습니다. 나는 grep을 사용하여 이것을 번역하려고 시도하지 않았습니다.

import re
import shlex
import subprocess

""" Return a list of interface name strings """

RE_PATT = "^\d+: (\w+).+\n +link/loopback"
proc = subprocess.run(
    shlex.split("ip link show"),
    stdout=subprocess.PIPE,
    universal_newlines=True,
)
interface_list = re.findall(RE_PATT, proc.stdout, re.MULTILINE)

관련 정보