1DOODLE(1)                   General Commands Manual                  DOODLE(1)
2
3
4

NAME

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

SYNOPSIS

10       doodle [OPTIONS] ([FILENAMES]*|[KEYWORDS]*)
11
12

DESCRIPTION

14       doodle  is  a  tool  to  index files.  doodle uses libextractor to find
15       meta-data in files.  Once a database has been built, doodle can be used
16       to   quickly  find  files  of  which  the  meta-data  matches  a  given
17       search-string.  This way, doodle can be used  to  quickly  search  your
18       file system.
19
20       Generally,  the  first  time  you  run doodle you pass the option -b to
21       build the database.  Together with -b you specify the list of files  or
22       directories to index, for example
23
24              $ doodle -b $HOME
25
26
27       Indexing  with  doodle  is  incremental.  If doodle -b is run (with the
28       same database) twice it will update  the  index  for  files  that  were
29       changed.   doodle will also remove files that are no longer accessible.
30       doodle will NOT remove files that are still present but no longer spec‐
31       ified in the argument list.  Thus invoking either
32
33              $ doodle -b /foo /bar  # or
34
35              $ doodle -b /foo ; doodle -b /bar
36
37
38       will result in the same database containing both the index for /foo and
39       /bar.  Note that the only way to only un-index /foo at this point is to
40       make /foo inaccessible (using for example chmod 000 /foo or even rm -rf
41       /foo) and then run doodle -b again.
42
43
44       In networked environments, it often makes sense to build a database  at
45       the  root  of  each  file system, containing the entries for that  file
46       system.  For this, doodle is run for  each  file  system  on  the  file
47       server  where that file system is on a local disk, to prevent thrashing
48       the network.  Users can select which databases doodle  searches.  Data‐
49       bases cannot be concatenated together.
50
51
52       Once  the  files  have  been  indexed, you can quickly query the doodle
53       database.  Just run
54
55              $ doodle keyword
56
57
58       to search all of your files for keyword.  Note that only the  meta-data
59       extracted  by  libextractor is searched.  Thus if libextractor does not
60       find any meta-data in the files, you may not get any results.  You  can
61       use  the  option  -l to specify non-standard libextractor plugins.  For
62       example, doodle could be used to replace the locate tool from  the  GNU
63       findutils like this:
64
65              $  alias  updatedb="doodle  -bn -d ~/.doodle-locate-db -l libex‐
66              tractor_filename /"
67
68              $ alias locate="doodle -d ~/.doodle-locate-db"
69
70
71

OPTIONS

73       -a NUMBER, --approximate=NUMBER
74              do approximate matching with mismatches of up to NUMBER letters
75
76       -b, --build
77              build the doodle database (passed arguments are directories  and
78              filenames  that  are  to  be  indexed).   In comparison with GNU
79              locate the doodle binary encapsulates both the  locate  and  the
80              updatedb tool.  Using the -b option doodle builds or updates the
81              database (equivalent to updatedb), without -b it behaves similar
82              to locate.
83
84       -d FILENAME, --database=FILENAME
85              use FILENAME for the location of the database (use when building
86              or searching).  This option is particularly useful  when  doodle
87              is  used to search different types of files (or is operated with
88              different extractor options).  Using this option doodle  can  be
89              used  to  build  specialized indices (i.e. one per file system),
90              which can in turn improve search performance.   When  searching,
91              you  can  pass a colon-separated list of database file names, in
92              that case all databases are searched.  Note that the  disk-space
93              consumption  of  a single database is typically slightly smaller
94              than if the database is split into  multiple  files.   Neverthe‐
95              less,  the space-savings are likely to be small (a few percent).
96              You can also use  the environment variable  DOODLE_PATH  to  set
97              the  list of database files to search.  The option overrides the
98              environment variable if both are used.  If  the  option  is  not
99              given and DOODLE_PATH is not set, "~/.doodle" is used.
100
101       -e, --extract
102              print the extracted keywords for each matching file found.  Note
103              that this will slow down the program a lot, especially if  there
104              are  many  matches  in  the  database.  Note that if the options
105              given for libextractor are different than the options  used  for
106              building  the  index  the  results  may  not  contain the search
107              string.
108
109       -f, --filenames
110              include filenames (full path) in the set of keywords
111
112       -h, --help
113              print help page
114
115       -i, --ignore-case
116              be case-insensitive
117
118       -l LIBRARIES, --library=LIBRARIES
119              specify which libextractor plugins  to  use  (for  building  the
120              index with -b or for printing information about files with -e)
121
122       -L FILENAME, --log=FILENAME
123              log  all  encountered  keywords  into a log file named FILENAME.
124              This option is mostly useful for debugging.
125
126       -m LIMIT, --memory=LIMIT
127              use at most LIMIT MB of memory for the nodes of the  suffix-tree
128              (after that, serialize to disk).  Note that a smaller value will
129              reduce memory consumption but increase the size of the temporary
130              file (and slow down indexing).  The default is 8 MB.
131
132       -n, --nodefault
133              do not load the default set of plugins (only load plugins speci‐
134              fied with -l)
135
136       -p, --print
137              make a human-readable screen dump of the doodle  database  (only
138              really useful for debugging)
139
140       -P PATH, --prunepaths=PATH
141              Directories  to  not  put in the database, which would otherwise
142              be. The environment variable PRUNEPATHS also  sets  this  value.
143              Default  is  "/tmp  /usr/tmp  /var/tmp  /dev  /proc /sys".  This
144              option can also be used when searching,  in  which  case  search
145              results in the specified directories will be ignored.
146
147       -v, --version
148              print the version number
149
150       -V, --verbose
151              be verbose
152
153

ENVIRONMENT

155       DOODLE_PATH
156              Colon-separated  list  of  databases  to search.  Note that when
157              building the database this path must  either  only  contain  one
158              filename  or  the option -b must be used to specify the database
159              file.  Default is "~/.doodle".
160
161       PRUNEPATHS
162              Space-separated list of paths to  exclude.   Can  be  overridden
163              with the -P option.
164
165

NOTES

167       Doodle  depends  on  libextractor.   You can download libextractor from
168       http://gnunet.org/libextractor/.
169
170

SEE ALSO

172       extract(1), slocate(1), updatedb(1), libextractor(3), libdoodle(3)
173
174
176       libdoodle and doodle are released under the GPL.
177
178

REPORTING BUGS

180       Report bugs to mantis <https://gnunet.org/bugs/> or  by  sending  elec‐
181       tronic mail to <christian@grothoff.org>
182
183

AUTHORS

185       doodle   was   originally   written   by   Christian  Grothoff  <chris‐
186       tian@grothoff.org>.
187
188

AVAILABILITY

190       You  can   obtain   the   original   author's   latest   version   from
191       http://grothoff.org/christian/doodle/.
192
193
194
195doodle                            Jan 1 2010                         DOODLE(1)
Impressum