Scroll to navigation

DOODLE(1) General Commands Manual DOODLE(1)


doodle - a tool to search the meta-data in your files




doodle is a tool to index files. doodle uses libextractor to find meta-data in files. Once a database has been built, doodle can be used to quickly find files of which the meta-data matches a given search-string. This way, doodle can be used to quickly search your file system.

$ doodle -b $HOME

$ doodle -b /foo /bar # or

$ doodle -b /foo ; doodle -b /bar

$ doodle keyword

$ alias updatedb="doodle -bn -d /var/lib/doodle/doodle-locate-db -l libextractor_filename /"

$ alias locate="doodle -d /var/lib/doodle/doodle-locate-db"


do approximate matching with mismatches of up to NUMBER letters
build the doodle database (passed arguments are directories and filenames that are to be indexed). In comparison with GNU locate the doodle binary encapsulates both the locate and the updatedb tool. Using the -b option doodle builds or updates the database (equivalent to updatedb), without -b it behaves similar to locate.
use FILENAME for the location of the database (use when building or searching). This option is particularly useful when doodle is used to search different types of files (or is operated with different extractor options). Using this option doodle can be used to build specialized indices (i.e. one per file system), which can in turn improve search performance. When searching, you can pass a colon-separated list of database file names, in that case all databases are searched. Note that the disk-space consumption of a single database is typically slightly smaller than if the database is split into multiple files. Nevertheless, the space-savings are likely to be small (a few percent). You can also use the environment variable DOODLE_PATH to set the list of database files to search. The option overrides the environment variable if both are used. If the option is not given and DOODLE_PATH is not set, "/var/lib/doodle" is used.
print the extracted keywords for each matching file found. Note that this will slow down the program a lot, especially if there are many matches in the database. Note that if the options given for libextractor are different than the options used for building the index the results may not contain the search string.
include filenames (full path) in the set of keywords
print help page
be case-insensitive
specify which libextractor plugins to use (for building the index with -b or for printing information about files with -e)
log all encountered keywords into a log file named FILENAME. This option is mostly useful for debugging.
use at most LIMIT MB of memory for the nodes of the suffix-tree (after that, serialize to disk). Note that a smaller value will reduce memory consumption but increase the size of the temporary file (and slow down indexing). The default is 8 MB.
do not load the default set of plugins (only load plugins specified with -l)
make a human-readable screen dump of the doodle database (only really useful for debugging)
Directories to not put in the database, which would otherwise be. The environment variable PRUNEPATHS also sets this value. Default is "/tmp /usr/tmp /var/tmp /dev /proc /sys". This option can also be used when searching, in which case search results in the specified directories will be ignored.
print the version number
be verbose


Colon-separated list of databases to search. Note that when building the database this path must either only contain one filename or the option -b must be used to specify the database file. Default is "/var/lib/doodle".
Space-separated list of paths to exclude. Can be overridden with the -P option.


Doodle depends on libextractor. You can download libextractor from


extract(1), slocate(1), updatedb(1), libextractor(3), libdoodle(3)


libdoodle and doodle are released under the GPL.


Report bugs to mantis <> or by sending electronic mail to <>


doodle was originally written by Christian Grothoff <>.


You can obtain the original author's latest version from

Jan 1 2010 doodle