IP 주소가 필요한 경우 호스트 이름 명령은 두 개의 IP 주소를 출력합니다.

IP 주소가 필요한 경우 호스트 이름 명령은 두 개의 IP 주소를 출력합니다.
# hostname --help | grep ip
    -i, --ip-address       addresses for the host name
    -I, --all-ip-addresses all addresses for the host

위 내용을 토대로 -iIP 주소는 하나만 출력되어야 하지만, -I모두 출력되어야 합니다. 내 경우에는 정반대다.

# hostname -i
127.0.1.1 123.123.123.123
# hostname -I
123.123.123.123

왜 그런 겁니까?

/etc/hosts만일의 경우를 대비해 내 파일은 여기 있습니다 :

127.0.0.1       localhost
::1     localhost       ip6-localhost   ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.1.1       tmp-1   tmp-1

123.123.123.123 tmp-1

( 123.123.123.123내 실제 IP v4 주소는 어디에 있습니까?)

답변1

이것hostname(1)맨페이지옵션이 완전히 설명되어 있어 혼란이 해소됩니다.

-i,--ip-address

호스트 이름의 네트워크 주소를 표시합니다. 이는 호스트 이름을 확인할 수 있는 경우에만 작동합니다. 이 옵션을 사용하지 마십시오. 대신 사용하십시오 hostname --all-ip-addresses.

-I,--all-ip-addresses

호스트의 모든 네트워크 주소를 표시합니다. 이 옵션은 모든 네트워크 인터페이스에 구성된 모든 주소를 열거합니다. 루프백 인터페이스와 IPv6 링크-로컬 주소는 생략됩니다. option 과 달리 -i이 옵션은 이름 확인에 의존하지 않습니다. 출력 순서에 대해 어떤 가정도 하지 마십시오.

(어쨌든 도움말 텍스트에는 -i"주소영어”, 따라서 거기에 여러 주소가 있을 것으로 예상할 수 있습니다.)

관련 정보