# Licensed under the GPL v2. For licencing details see COPYING.
package "adu"
-version "0.0.1"
purpose "advanced disk usage
adu creates a database containing disk usage statistics of a given
goes to stdout. Lower values mean more verbose logging.
"
-option "uid" u
-#~~~~~~~~~~~~~
-"user id(s) to take into account"
-string typestr="uid_spec"
-optional
-multiple
-details="
- An uid specifier may be a single number, or a range of uids.
- Example:
-
- --uid 42 # only consider uid 42
- --uid 42- # only consider uids greater or equal than 42
- --uid 23-42 # only consider uids between 23 and 42, inclusively.
-
- This option may be given multiple times. An uid is taken into
- account if it satisfies at least one --uid option.
-"
-
-
option "paths" p
#~~~~~~~~~~~~~~~
"files to take into account"
defgroup "mode"
#==============
groupdesc="
- adu may started in one of two possible modes, each of which
+ adu may be started in one of two possible modes, each of which
corresponds to a different command line option. Exactly one
of these options must be given.
that directory.
"
+groupoption "interactive" I
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"activate interactive mode"
+group="mode"
+details="
+ In this mode, adu reads commands from stdin.
+"
+
groupoption "select" S
#~~~~~~~~~~~~~~~~~~~~~
"query a database previously created with --create"
"directory to traverse"
string typestr="path"
dependon="create"
-required
+optional
details="
- The base directory to be traversed recursively. A warning
- message is printed for each subdirectory that could not be
- read because of insufficient permission. These directories
- will be ignored when computing statistics.
+ The base directory to be traversed recursively. Must be
+ given if --create mode was selected. A warning message is
+ printed for each subdirectory that could not be read because
+ of insufficient permission. These directories will be ignored
+ when computing statistics.
"
+option "one-file-system" x
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"do not dive into other file systems"
+flag off
+dependon="create"
+details="
+ Skip directories that are on different filesystems from the
+ one that the argument being processed is on.
+"
-##############################
-section "Options for --select"
-##############################
-
-option "limit" L
-#~~~~~~~~~~~~~~~
-"Limit output"
-int typestr="num"
-required
-dependon="select"
+option "hash-table-bits" -
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"specify the size of the uid hash table"
+int typestr="num"
+dependon="create"
+default="10"
+optional
details="
- Only print num lines of output.
+ Use a hash table of size 2^num for the uid entries. If more than
+ 2^num different uids own at least one regular file under base-dir,
+ the command fails. Increase this value if you have more than 1024
+ users. Decreasing the value causes adu to use slightly less memory.
"
-option "units" U
-#~~~~~~~~~~~~~~~
-"select numerical output format"
-string typestr="format"
+option "select-options" s
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"Options for select mode"
+string typestr="<options>"
optional
+dependon="select"
details="
- Print the number of files/directories and the sizes in
- the given format. All sizes are output in these units:
- (h)uman-readable, (b)ytes, (k)ilobytes, (m)egabytes,
- (g)igabytes, (t)erabytes. Capitalise to use multiples
- of 1000 (S.I.) instead of 1024. The default is \"h\",
- i.e. human-readable.
+ Try --select-options \"-h\"
"