DICT(1) DICT(1)
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/response protocol that provides access(2,5) to dic-
tionary definitions from a set(7,n,1 builtins) of natural language dictionary data-
bases.
OPTIONS
-h server or --host server
Specifies the hostname for the DICT server. Server/port combi-
nations can be specified in(1,8) the configuration file. If no
servers are specified the default behavior is to try dict.org,
alt0.dict.org, alt1.dict.org, and alt2.dict.org, in(1,8) that order.
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(1,8) the
order listed.
-p service or --port service
Specifies the port (e.g., 2628) or service (e.g., dict) for con-
nections. The default is 2628, as specified in(1,8) the DICT Proto-
col RFC. Server/port combinations can be specified in(1,8) the con-
figuration 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(1,8) 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 defini-
tions, and some form of spelling-correction strategy for matches
("." from the DICT protocol). The available strategies are
dependent on the server implemenation. For a list of available
strategies, see the -S or --strats option.
-C or --nocorrect
Usually, if(3,n) 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(1,n) or --config file(1,n)
Specify the configuration file. The default is to try ~/.dictrc
and /etc/dict.conf, using the first file(1,n) that exists. If a spe-
cific configuration file(1,n) 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 strate-
gies.
-H or --serverhelp
Query the server and display the help information that it pro-
vides.
-i dbname or --info dbname
Request information on the specified database (usually the
server will provide origination, descriptive, or other informa-
tion about the database or its contents).
-I or --serverinfo
Query the server and display information about the server.
-a or --noauth
Disable authentication (i.e., don't send(2,n) 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(1,3,5) 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(3x,7,8,3x cbreak) client/server interaction.
-P program or --pager program
Specify program to use as pager. Use "-" for none.
--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 pro-
vide faster or slower throughput, depending on MTU. If the
buffer is too small, requests will be serialized. Values less(1,3)
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:
verbose
The same as -v or --verbose.
raw(3x,7,8,3x cbreak) The same as -r or --raw.
scan Debug the scanner for the configuration file.
parse Debug the parser for the configuration file.
pipe(2,8) Debug TCP pipelining support (see the DICT RFC and
RFC1854).
serial Disable pipelining support.
time(1,2,n) Perform transaction timing.
CONFIGURATION
The configuration file(1,n) 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(1,8) 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(1,8) the order listed until a connection is made. If
none of the specified servers are available, then an attempt will be
made to connect on localhost and on dict.org at the standard part
(2628). We expect that dict.org will point to one or more DICT servers
(perhaps in(1,8) round-robin fashion) for the foreseeable future (starting
in(1,8) July 1997), although it is difficult to predict anything on the
Internet for more than about 3-6 months.
The configuration file(1,n) also allows the setting of a pager (keyword
pager), similar to the --pager option.
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 dis-
tribute under other terms, write(1,2) to the author.
The main libraries used by this programs (zlib, regex(3,7), libmaa) are dis-
tributed 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.
BUGS
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(1,8) a future
release.
If a dict: URL contains a shared secret, it will not be parsed cor-
rectly.
FILES
~/.dictrc
/etc/dict.conf
SEE ALSO
dictd(8), dictzip(1), http://www.dict.org, RFC 2229
15 February 1998 DICT(1)