# man > dict(host)

[HOST(1)](https://www.chedong.com/phpMan.php/man/HOST/1/markdown)                                        BIND 9                                        [HOST(1)](https://www.chedong.com/phpMan.php/man/HOST/1/markdown)



## NAME
       host - DNS lookup utility

## SYNOPSIS
       **host**  [**-aACdlnrsTUwv**]  [**-c**  class]  [**-N**  ndots] [**-p** port] [**-R** number] [**-t** type] [**-W** wait] [**-m**
       flag] [ [**-4**] | [**-6**] ] [**-v**] [**-V**] {name} [server]

## DESCRIPTION
       **host** is a simple utility for performing DNS lookups. It is normally used to convert names  to
       IP addresses and vice versa. When no arguments or options are given, **host** prints a short sum‐
       mary of its command-line arguments and options.

       **name** is the domain name that is to be looked up. It can also be a dotted-decimal IPv4 address
       or  a  colon-delimited  IPv6 address, in which case **host** by default performs a reverse lookup
       for that address.  **server** is an optional argument which is either the name or IP  address  of
       the  name  server  that **host** should query instead of the server or servers listed in **/etc/re**‐‐
       **solv.conf**.

## OPTIONS
### -4
              _-6_ option.

### -6
              _-4_ option.

### -a
              ior of the _-l_ list zone option.

### -A
              records are omitted from the output.

### -c class
              This option specifies the query class, which can be used to lookup HS (Hesiod)  or  CH
              (Chaosnet) class resource records. The default class is IN (Internet).

### -C
              the SOA records for zone **name** from all the listed authoritative name servers for  that
              zone.  The  list  of  name servers is defined by the NS records that are found for the
              zone.

### -d

### -l
              transfer of zone **name** and prints out the NS, PTR, and address records (A/AAAA).

              Together, the _-l_ _-a_ options print all records in the zone.

### -N ndots
              This  option specifies the number of dots (**ndots**) that have to be in **name** for it to be
              considered absolute. The default value is that defined using the  **ndots**  statement  in
              **/etc/resolv.conf**, or 1 if no **ndots** statement is present. Names with fewer dots are in‐
              terpreted as relative names, and are searched for in the domains listed in the  **search**
              or **domain** directive in **/etc/resolv.conf**.

### -p port
              This option specifies the port to query on the server. The default is 53.

### -r
              sion desired) bit in the query. This means that the name server  receiving  the  query
              does  not attempt to resolve **name**. The _-r_ option enables **host** to mimic the behavior of
              a name server by making non-recursive queries, and expecting  to  receive  answers  to
              those queries that can be referrals to other name servers.

### -R number
              This  option specifies the number of retries for UDP queries. If **number** is negative or
              zero, the number of retries is silently set to 1. The default value is 1, or the value
              of the **attempts** option in **/etc/resolv.conf**, if set.

### -s
              sponds with a SERVFAIL response, which is the reverse of normal stub  resolver  behav‐
              ior.

### -t type
              This  option  specifies  the query type. The **type** argument can be any recognized query
              type: CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.

              When no query type is specified, **host** automatically selects an appropriate query type.
              By  default,  it looks for A, AAAA, and MX records. If the _-C_ option is given, queries
              are made for SOA records. If **name** is a dotted-decimal IPv4 address or  colon-delimited
              IPv6 address, **host** queries for PTR records.

              If  a query type of IXFR is chosen, the starting serial number can be specified by ap‐
              pending an equals  sign  (=),  followed  by  the  starting  serial  number,  e.g.,  _-t_
              _IXFR=12345678_.

### -T, -U
              _-T_ option makes it use a TCP connection when querying the name server. TCP is automat‐
              ically  selected  for  queries that require it, such as zone transfer (AXFR) requests.
              Type **ANY** queries default to TCP, but can be forced to use UDP initially via _-U_.

### -m flag
              This option sets memory usage debugging: the flag can be **record**, **usage**, or **trace**.  The
              _-m_ option can be specified more than once to set multiple flags.

### -v
              output can also be enabled by setting the **debug** option in **/etc/resolv.conf**.

### -V

### -w
              also the _-W_ option.

### -W wait
              This  options  sets  the length of the wait timeout, indicating that **named** should wait
              for up to **wait** seconds for a reply. If **wait** is less than 1, the wait interval  is  set
              to 1 second.

              By  default, **host** waits for 5 seconds for UDP responses and 10 seconds for TCP connec‐
              tions. These defaults can be overridden by the **timeout** option in **/etc/resolv.conf**.

              See also the _-w_ option.

## IDN SUPPORT
       If **host** has been built with IDN (internationalized domain name) support, it  can  accept  and
       display  non-ASCII  domain  names. **host** appropriately converts character encoding of a domain
       name before sending a request to a DNS server or displaying a reply from the server.  To turn
       off  IDN support, define the **IDN**___**DISABLE** environment variable. IDN support is disabled if the
       variable is set when **host** runs.

## FILES
### /etc/resolv.conf

## SEE ALSO
       [**dig(1)](https://www.chedong.com/phpMan.php/man/dig/1/markdown)**, [**named(8)](https://www.chedong.com/phpMan.php/man/named/8/markdown)**.

## AUTHOR
       Internet Systems Consortium

## COPYRIGHT
       2026, Internet Systems Consortium




9.18.39-0ubuntu0.22.04.4-Ubuntu              2025-08-13                                      [HOST(1)](https://www.chedong.com/phpMan.php/man/HOST/1/markdown)
[DICT(1)](https://www.chedong.com/phpMan.php/man/DICT/1/markdown)                                                                                      [DICT(1)](https://www.chedong.com/phpMan.php/man/DICT/1/markdown)



## NAME
       dict - DICT Protocol Client

## SYNOPSIS
       **dict** _word_
       **dict** _[options]_ _[word]_
       **dict** _[options]_ _dict://host:port/d:word:database_
       **dict** _[options]_ _dict://host:port/m:word:database:strategy_

## DESCRIPTION
       **dict** is a client for the Dictionary Server Protocol (DICT), a TCP transaction based query/re‐
       sponse protocol that provides access to dictionary definitions from a set of natural language
       dictionary databases.  Exit status is 0 if operation succeeded, or non-zero otherwise.
       See **EXIT** **STATUS** section.


## OPTIONS
### -h --host
              Specifies the hostname for the DICT server.  Server/port combinations can be specified
              in the configuration file.  If no servers are specified in the configuration  file  or
              on  the  command line, **dict** will fail.  If IP lookup for a server expands to a list of
              IP addresses (as dict.org does currently), then each IP will be  tried  in  the  order
              listed.

### -p --port
              Specifies  the port (e.g., 2628) or service (e.g., dict) for connections.  The default
              is 2628, as specified in the DICT Protocol RFC.  Server/port combinations can be spec‐
              ified in the configuration file.

### -d --database
              Specifies  a  specific  database to search.  The default is to search all databases (a
              "*" from the DICT protocol).  Note that a "!" in the DICT protocol means to search all
              of the databases until a match is found, and then stop searching.

### -m --match
              Instead of printing a definition, perform a match using the specified strategy.

### -s --strategy
              Specify  a  matching strategy.  By default, the server default match strategy is used.
              This is usually "exact" for definitions, and some form of spelling-correction strategy
              for  matches  ("." from the DICT protocol).  The available strategies are dependent on
              the server implementation.  For a list of available strategies, see the -S or --strats
              option.

### -C --nocorrect
              Usually,  if  a definition is requested and the word cannot be found, spelling correc‐
              tion is requested from the server, and a list of possible words  are  provided.   This
              option disables the generation of this list.

### -c --config
              Specify   the   configuration   file.    The   default   is   to   try  _~/.dictrc_  and
              _/etc/dictd/dict.conf_, using the first file that exists.  If a  specific  configuration
              file is specified, then the defaults will not be tried.

### -D --dbs
              Query the server and display a list of available databases.

### -S --strats
              Query the server and display a list of available search strategies.

### -H --serverhelp
              Query the server and display the help information that it provides.

### -i --info
              Request  information on the specified database (usually the server will provide origi‐
              nation, descriptive, or other information about the database or its contents).

### -I --serverinfo
              Query the server and display information about the server.

### -M --mime
              Send _OPTION_ _MIME_ command to the server.
              **NOTE:** Server's capabilities are not checked.


### -f --formatted
              Enables formatted output, i.e. output convenient for postprocessing by  standard  UNIX
              utilities. No, it is not XML ;-) Also error and warning messages like
               " No matches...", " Invalid strategy..." etc. are sent to stderr, not to stdout.
              **Format:**
               -I, -i, -H and similar:
                  host<TAB>port
                  <SPC><SPC>line1
                  <SPC><SPC>line2
                  ...
               -S:
                  host<TAB>port<TAB>strategy1<TAB>short description1
                  host<TAB>port<TAB>strategy2<TAB>short description2
                  ...
               -D:
                  host<TAB>port<TAB>database1<TAB>database description1
                  host<TAB>port<TAB>database2<TAB>database description2
                  ...
               -m:
                  host<TAB>port<TAB>database1<TAB>match1
                  host<TAB>port<TAB>database2<TAB>match2
                  ...


### -a --noauth
              Disable authentication (i.e., don't send an AUTH command).

### -u --user
              Specifies the username for authentication.

### -k --key
              Specifies the shared secret for authentication.

### -V --version
              Display version information.

### -L --license
              Display copyright and license information.

### -4

### -6

       **--help** Display help information.

### -v --verbose
              Be verbose.

### -r --raw
              Be very verbose: show the raw client/server interaction.

### --pipesize
              Specify the buffer size for pipelineing commands.  The default is 256, which should be
              sufficient for general tasks and be below the MTU for most  transport  media.   Larger
              values  may  provide  faster or slower throughput, depending on MTU.  If the buffer is
              too small, requests will be serialized.  Values less than 0 and greater than one  mil‐
              lion are silently changed to something more reasonable.

       **--client** _text_
              Specifies additional text to be sent using the CLIENT command.

       **--debug** _flag_
              Set a debugging flag.  Valid flags are:

              **verbose**
                     The same as **-v** or **--verbose**.

              **raw**    The same as **-r** or **--raw**.

              **scan**   Debug the scanner for the configuration file.

              **parse**  Debug the parser for the configuration file.

              **pipe**   Debug TCP pipelining support (see the DICT RFC and RFC1854).

              **serial** Disable pipelining support.

              **time**   Perform transaction timing.

## CONFIGURATION
       The  configuration  file  currently  has  a  very  simple  format.  Lines are used to specify
       servers, for example:
              server dict.org
       or, with options:
              server dict.org { port 8080 }
              server dict.org { user username secret }
              server dict.org { port dict user username secret }
       the **port** and **user** options may be specified in any order.  The **port** option is used to  specify
       an  optional  port  (e.g., 2628) or service (e.g., dict) for the TCP/IP connection.  The **user**
       option is used to specify a username and shared secret to be used for authentication to  this
       particular server.

       Servers are tried in the order listed until a connection is made.

## EXIT STATUS
        0  Successful completion

        20 No matches found
        21 Approximate matches found
        22 No databases available
        23 No strategies available

        30 Unexpected response code from server
        31 Server is temporarily unavailable
        32 Server is shutting down
        33 Syntax error, command not recognized
        34 Syntax error, illegal parameters
        35 Command not implemented
        36 Command parameter not implemented
        37 Access denied
        38 Authentication failed
        39 Invalid database
        40 Invalid strategy
        41 Connection to server failed


## CREDITS
       **dict**  was  written  by Rik Faith (<faith@cs.unc.edu>) and is distributed under the terms of the
       GNU General Public License.  If you need to distribute under other terms, write  to  the  au‐
       thor.

       The  main libraries used by this programs (zlib, regex, libmaa) are distributed under differ‐
       ent terms, so you may be able to use the libraries for applications  which  are  incompatible
       with  the  GPL -- please see the copyright notices and license information that come with the
       libraries for more information, and consult with your attorney to resolve these issues.

## BUGS
       If a **dict:** URL is given on the command line, only the first one is used.  The  rest  are  ig‐
       nored.

       If a **dict:** URL contains a specifier for the nth definition or match of a word, it will be ig‐
       nored and all the definitions or matches will be provided.  This violates the RFC,  and  will
       be corrected in a future release.

       If a **dict:** URL contains a shared secret, it will not be parsed correctly.

       When  _OPTION_  _MIME_  command is sent to the server _(-M_ _option)_ , server's capabilities are not
       checked.

## FILES
       _~/.dictrc_
              User's **dict** configuration file

       _/etc/dictd/dict.conf_
              System **dict** configuration file

## SEE ALSO
       [**dictd**(8)](https://www.chedong.com/phpMan.php/man/dictd/8/markdown), [**dictzip**(1)](https://www.chedong.com/phpMan.php/man/dictzip/1/markdown), **<http://www.dict.org>,** **RFC** **2229**



                                          15 February 1998                                   [DICT(1)](https://www.chedong.com/phpMan.php/man/DICT/1/markdown)
