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

FreeBSD Manual Pages


home | help
GDBMTOOL(1)		      GDBM User	Reference		   GDBMTOOL(1)

       gdbmtool	- examine and modify a GDBM database

       gdbmtool	 [-lmNnqrs]  [-b SIZE] [-c SIZE] [-f FILE] [--block-size=SIZE]
       [--cache-size=SIZE] [--file  FILE]  [--newdb]  [--no-lock]  [--no-mmap]
       [--norc]	 [--quiet]  [--read-only] [--synchronize] [DBFILE] [COMMAND [;

       gdbmtool	[-Vh] [--help] [--usage] [--version]

       The gdbmtool utility allows you to view and  modify  an	existing  GDBM
       database	or to create a new one.

       The  DBFILE argument supplies the name of the database to open.	If not
       supplied, the default name junk.gdbm is used  instead.	If  the	 named
       database	 does not exist, it will be created.  An existing database can
       be cleared (i.e.	all records removed from it) using the --newdb	option
       (see below).

       Unless  the  -N	(--norc) option	is given, after	startup	gdbmtool looks
       for file	named .gdbmtoolrc first	in the current working directory, and,
       if  not	found there, in	the home directory of the user who started the
       program.	 If found, this	file is	read and  interpreted  as  a  list  of
       gdbmtool	commands.

       Then  gdbmtool starts a loop, in	which it reads commands	from the stan-
       dard input, executes them and prints the	results	on the	standard  out-
       put.   If the standard input is attached	to a console, the program runs
       in interactive mode.

       The program terminates when the quit command is given,  or  end-of-file
       is detected on its standard input.

       Commands	 can  also  be specified in the	command	line, after the	DBFILE
       argument. In this case, they will be interpreted	without	attempting  to
       read more commands from the standard input.

       If  several commands are	supplied, they must be separated by semicolons
       (properly escaped or quoted, in order to	prevent	them from being	inter-
       preted by the shell).

       A  gdbmtool  command consists of	a command verb,	optionally followed by
       one or more arguments, separated	by any amount of white space.  A  com-
       mand  verb  can be entered either in full or in an abbreviated form, as
       long as that abbreviation does not match	any other verb.

       Any sequence of non-whitespace characters appearing after  the  command
       verb  forms  an	argument.   If the argument contains whitespace	or un-
       printable characters it must be enclosed	in double quotes.  Within dou-
       ble  quotes  the	usual escape sequences are understood, as shown	in the
       table below:

	       Escape	   Expansion
	       \a	   Audible bell	character (ASCII 7)
	       \b	   Backspace character (ASCII 8)
	       \f	   Form-feed character (ASCII 12)
	       \n	   Newline character (ASCII 10)
	       \r	   Carriage return character (ASCII 13)
	       \t	   Horizontal tabulation character (ASCII 9)
	       \v	   Vertical tabulation character (ASCII	11)
	       \\	   Single slash

       In addition, a backslash	immediately followed by	the end-of-line	 char-
       acter  effectively removes that character, allowing to split long argu-
       ments over several input	lines.

       -b, --block-size=SIZE
	      Set block	size.

       -c, --cache-size=SIZE
	      Set cache	size.

       -f, --file=FILE
	      Read commands from FILE, instead of from the standard input.

       -l, --no-lock
	      Disable file locking.

       -m, --no-mmap
	      Do not use mmap(2).

       -n, --newdb
	      Create the database, truncating it if it already exists.

       -q, --quiet
	      Don't print initial banner.

       -r, --read-only
	      Open database in read-only mode.

       -s, --synchronize
	      Synchronize to disk after	each write.

       -h, --help
	      Print a short usage summary.

	      Print a list of available	options.

       -V, --version
	      Print program version

       avail  Print the	avail list.

       bucket NUM
	      Print the	bucket number NUM and set is as	the current one.

       cache  Print the	bucket cache.

       close  Close the	currently open database.

       count  Print the	number of entries in the database.

	      Print the	current	bucket.

       delete KEY
	      Delete record with the given KEY.

       dir    Print hash directory.

       export FILE-NAME	[truncate] [binary|ascii]
	      Export the database to the flat file FILE-NAME.  This is equiva-
	      lent to gdbm_dump(1).

	      This  command  will  not	overwrite an existing file, unless the
	      truncate parameter is also given.	  Another  optional  parameter
	      determines  the  type  of	the dump (*note	Flat files::).	By de-
	      fault, ASCII dump	will be	created.

       fetch KEY
	      Fetch and	display	the record with	the given KEY.

       first  Fetch and	display	the first record in the	database.   Subsequent
	      records can be fetched using the next command (see below).

       hash KEY
	      Compute and display the hash value for the given KEY.

       header Print file header.

       help or ?
	      Print a concise command summary, showing each command letter and
	      verb with	its parameters and a  short  description  of  what  it
	      does.  Optional arguments	are enclosed in	square brackets.

	      Shows  the command history list with line	numbers.  This command
	      is available only	if the program was compiled with GNU Readline.

       history COUNT.
	      Shows COUNT latest commands from the command history.

       history N COUNT.
	      Shows COUNT commands from	the command history starting with  Nth

       import FILE-NAME	[replace] [nometa]
	      Import data from a flat dump file	FILE-NAME.  If the replace ar-
	      gument is	given, any records with	the same keys as  the  already
	      existing	ones will replace them.	 The nometa argument turns off
	      restoring	meta-information from the dump file.

       list   List the contents	of the database.

       next [KEY]
	      Sequential access: fetch and display the next  record.   If  the
	      KEY is given, the	record following the one with this key will be

       open FILE
	      Open the database	file FILE.  If successful, any previously open
	      database is closed.  Otherwise, if the operation fails, the cur-
	      rently opened database remains unchanged.

	      This command takes additional  information  from	the  variables
	      open,  lock,  mmap,  and sync.  See the section VARIABLES, for a
	      detailed description of these.

       quit   Close the	database and quit the utility.

	      Reorganize the database.

       set [VAR=VALUE...]
	      Without arguments, lists variables and their values.   If	 argu-
	      ments  are specified, sets variables.   Boolean variables	can be
	      set by specifying	variable name, optionally prefixed with	no, to
	      set it to	false.

       source FILE
	      Read commands from the given FILE.

       status Print current program status.

       store KEY DATA
	      Store  the  DATA with the	given KEY in the database.  If the KEY
	      already exists, its data will be replaced.

       unset VARIABLE...
	      Unsets listed variables.

	      Print the	version	of gdbm.

       The define statement provides a mechanism for defining key  or  content
       structures.  It is similar to the C struct declaration:

	   define key|content {	defnlist }

       The  defnlist is	a comma-separated list of member declarations.	Within
       defnlist	the newline character looses its special meaning as  the  com-
       mand  terminator, so each declaration can appear	on a separate line and
       arbitrary number	of comments can	be inserted to	document  the  defini-

       Each declaration	has one	of the following formats

	   type	name
	   type	name [N]

       where type is a data type and name is the member	name.  The second for-
       mat defines the member name as an array of N elements of	type.

       The supported types are:

	       type	   meaning
	       char	   single byte (signed)
	       short	   signed short	integer
	       ushort	   unsigned short integer
	       int	   signed integer
	       unsigned	   unsigned integer
	       uint	   ditto
	       long	   signed long integer
	       ulong	   unsigned long integer
	       llong	   signed long long integer
	       ullong	   unsigned long long integer
	       float	   a floating point number
	       double	   double-precision floating point number
	       string	   array of characters (see the	NOTE below)
	       stringz	   null-terminated string of characters

       The following alignment declarations can	be used	within defnlist:

       offset N
	      The next member begins at	offset N.

       pad N  Add N bytes of padding to	the previous member.

       For example:

	   define content {
		   int status,
		   pad 8,
		   char	id[3],
		   stringz name

       To define data consisting of a single data member, the  following  sim-
       plified construct can be	used:

	   define key|content type

       where type is one of the	types discussed	above.

       NOTE:  The string type can reasonably be	used only if it	is the last or
       the only	member of the data structure.  That's because it  provides  no
       information  about the number of	elements in the	array, so it is	inter-
       preted to contain all bytes up to the end of the	datum.

       confirm,	boolean
	      Whether to ask for confirmation before certain destructive oper-
	      ations,  such  as	 truncating the	existing database.  Default is

       ps1, string
	      Primary prompt string.  Its value	can contain conversion	speci-
	      fiers, consisting	of the % character followed by another charac-
	      ter.  These specifiers are expanded in the resulting  prompt  as

		      Sequence	  Expansion
		      %f	  name of the db file
		      %p	  program name
		      %P	  package name (gdbm)
		      %_	  horizontal space (ASCII 32)
		      %v	  program version
		      %%	  %

	      The default prompt is %p>%_.

       ps2, string
	      Secondary	prompt.	 See ps1 for a description of its value.  This
	      prompt is	displayed before reading  the  second  and  subsequent
	      lines of a multi-line command.

	      The default value	is %_>%_.

       delim1, string
	      A	 string	used to	delimit	fields of a structured datum on	output
	      (see the section DATA DEFINITIONS).

	      Default is , (a comma).  This variable cannot be unset.

       delim2, string
	      A	string used to delimit array items when	printing a  structured

	      Default is , (a comma).  This variable cannot be unset.

       pager, string
	      The  name	 and  command line of the pager	program	to pipe	output
	      to.  This	program	is used	in interactive mode when the estimated
	      number  of  output  lines	is greater then	the number of lines on
	      your screen.

	      The default value	is inherited  from  the	 environment  variable
	      PAGER.  Unsetting	this variable disables paging.

       quiet, boolean
	      Whether  to  display  welcome  banner at startup.	 This variable
	      should be	set in a startup script	file.

       The following variables control how the database	is opened:

       cachesize, numeric
	      Sets the cache size.  By default this variable is	not set.

       blocksize, numeric
	      Sets the block size.  Unset by default.

       open, string
	      Open mode.  The following	values are allowed:

	      newdb  Truncate the database if it exists	or create a  new  one.
		     Open it in	read-write mode.

	      wrcreat or rw
		     Open  the	database  in read-write	mode.  Create it if it
		     does not exist.  This is the default.

	      reader or	readonly
		     Open the database in read-only mode.  Signal an error  if
		     it	does not exist.

       filemode, octal
	      Sets  the	file mode for newly created database files. Default is

       lock, boolean
	      Lock the database.  This is the default.

       mmap, boolean
	      Use memory mapping.  This	is the default.

       coalesce, boolean
	      When set,	this option causes adjacent free blocks	to  be	merged
	      which allows for more efficient memory management	at the expense
	      of a certain increase in CPU usage.

       centfree, boolean
	      Enables central free block pool. This causes all free blocks  of
	      space  to	 be placed in the global pool, thereby speeding	up the
	      allocation of data space.

       gdbm_dump(1), gdbm_load(1), gdbm(3).

       Report bugs to <>.

       Copyright (C) 2013-2018 Free Software Foundation, Inc
       License GPLv3+: GNU GPL version 3 or later <
       This  is	 free  software:  you  are free	to change and redistribute it.
       There is	NO WARRANTY, to	the extent permitted by	law.

GDBM				 June 27, 2018			   GDBMTOOL(1)


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

home | help