Man Linux: Main Page and Category List


       dict - DICT Protocol Client


       dict word
       dict [options] [word]
       dict [options] dict://host:port/d:word:database
       dict [options] dict://host:port/m:word:database:strategy


       dict  is  a  client  for  the  Dictionary Server Protocol (DICT), a TCP
       transaction based  query/response  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
       See EXIT STATUS section.


       -h server or --host server
              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 or on the
              command line, dict will fail.  (This is a  compile-time  option,
              ./configure --enable-dictorg, which is disabled by default.)  If
              IP lookup for a server expands to a list  of  IP  addresses  (as
      does  currently),  then  each  IP will be tried in the
              order listed.

       -p service or --port service
              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 specified in  the
              configuration file.

       -d dbname or --database dbname
              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 or --match
              Instead of printing a definition,  perform  a  match  using  the
              specified strategy.

       -s strategy or --strategy 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 or --nocorrect
              Usually, if a definition is requested and  the  word  cannot  be
              found,  spelling  correction is requested from the server, and a
              list of possible words are provided.  This option  disables  the
              generation of this list.

       -c file or --config file
              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 or --dbs
              Query the server and display a list of available databases.

       -S or --strats
              Query  the  server  and  display  a  list  of  available  search

       -H or --serverhelp
              Query  the  server  and  display  the  help  information that it

       -i dbname or --info dbname
              Request information  on  the  specified  database  (usually  the
              server   will   provide   origination,   descriptive,  or  other
              information about the database or its contents).

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

       -M or --mime
              Send OPTION MIME command to the server.
              NOTE: Server’s capabilities are not checked.

       -f or --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.
               -I, -i, -H and similar:
                  host<TAB>port<TAB>strategy1<TAB>short description1
                  host<TAB>port<TAB>strategy2<TAB>short description2
                  host<TAB>port<TAB>database1<TAB>database description1
                  host<TAB>port<TAB>database2<TAB>database description2

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

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

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

       -V or --version
              Display version information.

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

       --help Display help information.

       -v or --verbose
              Be verbose.

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

              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  million  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:

                     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

              serial Disable pipelining support.

              time   Perform transaction timing.


       The configuration file currently has a very simple format.   Lines  are
       used to specify servers, for example:
       or, with options:
              server { port 8080 }
              server { user username secret }
              server { 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.  If
       none of the specified  servers  are  available,  and  the  compile-time
       option  (./configure --enable-dictorg) is enabled, then an attempt will
       be made to connect on localhost and on at  the  standard  part
       (2628).  (This option is disabled by default.)  We expect that
       will point to one or more DICT servers (perhaps in round-robin fashion)
       for  the  foreseeable  future  (starting  in July 1997), although it is
       difficult to predict anything on the Internet for more than  about  3-6


        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


       dict  was  written  by  Rik Faith ( and is distributed
       under the terms of the GNU General Public  License.   If  you  need  to
       distribute under other terms, write to the author.

       The  main  libraries  used  by  this programs (zlib, regex, libmaa) are
       distributed under different 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.


       If a dict: URL is given on the command line,  only  the  first  one  is
       used.  The rest are ignored.

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

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

       When  OPTION  MIME command is sent to the server (-M option) , server’s
       capabilities are not checked.


              User’s dict configuration file

              System dict configuration file


       dictd(8), dictzip(1),, RFC 2229

                               15 February 1998