doodled man page

doodled — a daemon to keep your doodle database up-to-date


doodled [Options] [FILENAMES]*


doodled monitors your filesystem for changes and updates the doodle database to keep it always up-to-date with the latest data.  doodled is experimental at this point.  It uses libfam and is thus limited to monitoring less than 1024 directories for changes.


-d FILENAME, --database=FILENAME

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, "~/.doodle" is used.

-D, --debug

do not detach from the terminal (do not daemonize).  Also will print log messages to stderr if no logfile is specified.

-f, --filenames

include filenames (full path) in the set of keywords

-h, --help

print help page


specify which libextractor plugins to use (for building the index with -b or for printing information about files with -e)


log messages to the given logfile.

-m LIMIT, --memory=LIMIT

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.

-n, --nodefault

do not load the default set of plugins (only load plugins specified with -l)

-P PATH, --prunepaths=PATH

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.

-v, --version

print the version number

-V, --verbose

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 "~/.doodle".


Space-separated list of paths to exclude.  Can be overridden with the -P option.  


Doodle depends on GNU libextractor.  You can download libextractor from

See Also

extract(1), doodle(1), fam(3), libdoodle(3)

Reporting Bugs

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


doodle and doodled were originally written by Christian Grothoff <>.


You can obtain the original author's latest version from


Jan 1 2010 doodled