HOST(1) | 4 | HOST(1) |
host - 使用域名伺服器查詢主機名字
host [ -l ] [ -v ] [ -w ] [ -r ] [ -d ] [ -t querytype ] [ -a ] host [ server ]
Host 查詢 Internet 主機 的 資訊. 它 透過 一組 分佈在 國家間的 互連伺服器 獲取 這些 資訊. 預設情況下, host 只是 簡單的 做 主機名字 和 Internet 地址 的 轉換. 然而 透過 -t 或 -a 選項, 它 可以 用來 查詢 由 域名伺服器 維護的 某個主機 的 全部資訊.
引數 可以是 主機名稱, 也可以是 數字地址. 此程式 首先 把它 當做 主機的 數字地址, 如果 嘗試 失敗, 再把它 當做 主機名稱. 主機的 數字地址 由 句點隔開的 四個 十進位制數 組成, 例如 128.6.4.194. 主機名稱 由 句點隔開的 名字 組成, 例如 topaz.rutgers.edu. 除非 名字 以句點 結尾, 否則 本地域名 將 自動 新增在 後面. 因此, Rutgers 的 使用者 可以 輸入
host topaz
它 實際上 查詢 "topaz.rutgers.edu". 如果 嘗試 失敗, 就用 原來輸入的 名字 再試一次 (這裡就是 "topaz"). 郵件 和 其他 網路工具 用了 同樣的 策略. 新增在 名字 後面 的 字尾 來自 呼叫 hostname(1) 的 結果, 使用了 第一個點 後面的 全部 資料. (另見 下面 定製查詢主機名字 的 描述. )
第一個引數 是 你 打算查詢的 主機名稱. 如果 是 數字地址, 就 執行 “ 反向查詢 (inverse query) ” 也就是說, 域名系統 檢視 一系列 獨立的 資料庫, 把 數字地址 轉換成 名字.
第二個 引數 是 可選的. 它 允許你 指定查詢 某個 特定的 伺服器. 如果 沒有 使用 這個引數, 就用 預設 伺服器 (一般是本地機).
如果 指定了 名字, 你 可以見到 三個 不同種類的 輸出. 這裡是 它們的 例子:
% host sun4
sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
ATHOS.RUTGERS.EDU has address 128.6.5.46
ATHOS.RUTGERS.EDU has address 128.6.4.4
ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
使用者 鍵入的命令 是 “ host sun4 ” 第一行 表明 “ sun4.rutgers.edu ” 實際上 是 別名. 正式名字 是 “ ATHOS.RUTGERS.EDU ” 接下來 兩行 顯示 地址. 如果 系統 有 多個 網路介面, host 就 分別 顯示 每個 介面 的 地址. 最後一行 表明 ATHOS.RUTGERS.EDU 不接收 屬於它的 郵件, 郵件 由 ARAMIS.RUTGERS.EDU 處理. 由於 某些系統 擁有 多個 處理郵件的 系統, 可能 會有 多行 這樣的顯示. 從 技術角度 看, 我們 認為 每個 能夠 接收郵件 的 系統 應該有 這樣的項. 如果 系統 接收 它自己的 郵件, 應該 有一項 提及 該系統 自身; 例如:
Li XXX mail is handled by XXX
然而, 很多 能夠
接收 自己郵件 的 系統
不願意 提及 這個事實.
如果 系統 有一項
Li mail is handled by ,
但是 沒有 地址, 這 表明
它 不是 Internet 的 一部分,
而是 在 網路上 轉發
郵件 的 系統. Usenet, Bitnet 和
許多 其他網路 都有
類似項.
在 主機名字 前面 能夠 使用 很多 選項. 大多數 選項 只對 維護 域名資料庫 有意義.
host -l rutgers.edu
將 列出 rutgers.edu 域 中 所有的 主機.
-t 選項 可以 按需 過濾 收到的資訊. 預設值 是 地址資訊, 包括 PTR 和 NS 記錄.
host -l -v -t any rutgers.edu
命令 以 正式主域檔案格式 下載 rutgers.edu 的 全部 區域(zone) 資料. (然而 由於 某些 複雜原因, SOA 記錄 顯示了 兩次.)
注意: -l 執行 全部的 區域 傳輸, 然後 過濾出 要求的 資訊. 所以 萬不得已 才用 這個 命令.
一般說來, 如果 使用者 給出的 名字 中 不含 任何 句點, host 就把 預設域名 新增在 它的末尾. 預設域名 能夠 定義 在 /etc/resolv.conf 中, 但是 通常 從 本機名字 的 第一個 句點 後面 提取. 使用者 可以 透過 環境變數 LOCALDOMAIN 指定 不同的 預設域名. 另外, 使用者 可以 自定義 主機名字 的 縮寫. 縮寫 存放在 某個檔案 中, 一行 一項, 格式是 一個 縮寫名字, 一個 空格, 然後是 完整的 主機名. 這個 名字檔案 必須 用 HOSTALIASES 環境變數 指出.
當你 輸入的 名字 不屬於 本地域 時, 將會 出現 不希望 的 現象. 請記住 除非 輸入的名字 以 點 結尾, 否則 本地域名 總會 附加在 它 後面, 失敗後 才使用 原來的 名字.
-l 選項 只 聯絡 指定域 中 的 第一個 名字伺服器. 如果 這個 伺服器 宕機, 你 應該 手工 指定 一個 伺服器. 例如, 要 獲取 foo.edu 的清單, 可以 用
host -t ns foo.edu
獲得 foo.edu 的 全部 名字伺服器, 然後 用
host -l foo.edu xxx
試驗 每一個 xxx 名字伺服器, 直到 碰上 能用的.
徐明 <xuming@users.sourceforge.net>
2003/05/13
http://cmpp.linuxforum.net
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
1994年12月15日 | BSD |