Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
DB(1)                   FreeBSD General Commands Manual                  DB(1)

     db - manipulate db(3)'s btree(3) and hash(3) databases

     db [-KiNqV] [-E endian] [-f infile] [-O outsep] [-S visitem] [-T visspec]
        type dbfile [key [...]]
        db -d [-iNq] [-E endian] [-f infile] [-U unvisitem] type dbfile
           [key [...]]
        db -w [-CDiNqR] [-E endian] [-F insep] [-f infile] [-m mode]
           [-U unvisitem] type dbfile [key value [...]]

     db allows manipulation of btree(3) and hash(3) (db(3)) databases.

     db has three modes of operation to perform upon dbfile:

           read    Displays the given keys, and keys described in infile.  If
                   no keys and no infile is specified, the entire database is
                   displayed.  This is the default mode of operation.

           delete  Enabled with -d.  Deletes the given keys, and keys
                   described in infile.

           write   Enabled with -w.  Writes the given keys and values, and
                   keys and values described in infile (in the latter case,
                   entries are separated by insep).

     There are two mandatory arguments: type is the database type; either
     `btree' or `hash', and dbfile is the database file to manipulate.

     Options valid for all modes are:

           -E endian   Set the endianness of the database.  endian may be one
                             B  Big endian
                             H  Host endian
                             L  Little endian
                       Defaults to `H' (host endian).

           -f infile   Contains a list of keys (for read and delete), or insep
                       separated keys and values (for write) to be used as
                       arguments to the given mode.  If infile is `-', stdin
                       is used.

           -i          Keys are converted to lower case before manipulation.

           -N          Do not include the NUL byte at the end of the key or

           -q          Quiet operation.  In read mode, missing keys are not
                       considered to be an error.  In delete (-d) and write
                       (-w) modes, the result of various operations is

     Read mode specific options are:

           -K          Display key.

           -O outsep   Field separator string between key and value.  Defaults
                       to a single tab (`\t').

           -S visitem  Specify items to strvis(3) encode.  The visitem option-
                       argument is a character specifying if the key (k), the
                       value (v) or both (b) should be encoded.

           -T visspec  Control how the items specified by the -S option are
                       encoded.  The visspec option-argument is a string
                       specifying strvis(3) options.  The string consists of
                       the specification characters b, c, o, s, t, and w.  See
                       vis(1)'s corresponding options for the meaning of these

           -V          Display value.

           (If neither of -K or -V is given, both options are enabled.)

     Write mode specific options are:

           -C          Create new database, and truncate existing databases.

           -D          Allow duplicate entries.  (Requires -R to be useful.)

           -F insep    Input field separator string between key and value used
                       when parsing infile.  Defaults to a single space (` ').

           -m mode     Octal mode of created database.  Defaults to `0644'.

           -R          Overwrite existing entries.  If not specified, writing
                       to an existing entry raises an error.

     Write and delete mode specific options are:

           -U unvisitem
                       Specify items to strunvis(3) decode.  The unvisitem
                       option-argument is a character specifying if the key
                       (k), the value (v) or both (b) should be decoded.

     vis(1), btree(3), db(3), hash(3), strunvis(3), strvis(3), svis(3),

     The db command appeared in NetBSD 2.0.

     Luke Mewburn <>.

FreeBSD 11.0-PRERELEASE          June 20, 2005         FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help