Linux

Linux 命令行實用程序,首先使用 /etc/hosts 解析主機名

  • June 2, 2021

有幾個命令行實用程序可以解析主機名(host, dig, nslookup),但是它們都專門使用名稱伺服器,而應用程序通常/etc/hosts首先查找(我相信使用 gethostbyname)。

是否有一個命令行實用程序來解析行為類似於普通應用程序的主機名,因此/etc/hosts首先查看然後才詢問名稱伺服器?

(我知道它可能就像 3 行 c,但我需要它在一個有點可移植的 shell 腳本中。)

這很容易實現getent

getent hosts 127.0.0.1

getent將對 . 中配置的任何類型的數據進行查找nsswitch.conf

一種可行的工具是getent. 所以你可以使用getent hosts www.google.com, 或getent hosts localhost. 它將按照您的名稱服務切換配置中指定的方式從數據庫中檢索條目/etc/nsswitch.conf

對於更現代的實現,使用getent ahosts www.google.com它將獲得多個結果。

引用自:https://serverfault.com/questions/303716