# 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 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.
+ adu may be started in one of three possible modes, each of
+ which corresponds to a different command line option. Exactly
+ one of these options must be given.
"
required
that directory.
"
+groupoption "interactive" I
+#~~~~~~~~~~~~~~~~~~~~~~~~~~
+"activate interactive mode"
+group="mode"
+details="
+ In this mode, adu reads commands from stdin. This makes it
+ possible to run different select queries without opening the
+ underlying osl database for each query (which is expensive).
+"
+
groupoption "select" S
#~~~~~~~~~~~~~~~~~~~~~
"query a database previously created with --create"
group="mode"
details="
- This option prints statistics about matching subdirectories to
- stdout. The output depends on the other options, see below.
+ This option prints statistics about matching subdirectories
+ to stdout. The output can be customized by specifying select
+ options, see below.
"
##############################
users. Decreasing the value causes adu to use slightly less memory.
"
-
##############################
section "Options for --select"
##############################
-option "limit" L
-#~~~~~~~~~~~~~~~
-"Limit output"
-int typestr="num"
-default="-1"
+option "select-options" s
+#~~~~~~~~~~~~~~~~~~~~~~~~~
+"Options for select mode"
+string typestr="<options>"
optional
dependon="select"
details="
- Only print num lines of output. If negative (the default),
- print all lines.
-"
-
-option "size_unit" -
-#~~~~~~~~~~~~~~~~~~~
-"select output format for sizes"
-enum typestr="format"
-values="h","b","k","m","g","t"
-default="h"
-optional
-details="
- Print sizes in the given unit: human-readable, bytes,
- kilobytes (2^10), megabytes (2^20), gigabytes (2^30), terabytes
- (2^40). The default is \"h\", i.e. human-readable.
-"
-
-option "count_unit" -
-#~~~~~~~~~~~~~~~~~~~~
-"select output format for counted values"
-enum typestr="format"
-values="h","n","k","m","g","t"
-default="h"
-optional
-details="
- Print the number of files/directories in the given unit:
- human-readable, number, number/10^3, number/10^6, number/10^12,
- number/10^15. The default is to print numbers in human-readable
- format.
-"
-
-option "user-summary-sort" -
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~
-"how to sort the user-summary"
-enum typestr="col_spec"
-values="name","uid","dir_count","file_count","size"
-default="size"
-optional
-details="
- It is enough to specify the first letter of the column specifier,
- e.g. \"--user-summary-sort f\" sorts by file count.
+ This option takes a string whose content is another set of
+ options as described below. Select options may be specified
+ either directly in select mode, in which case you have to quote
+ them to prevent them from being interpreted as adu options,
+ or via the \"set\" command in interactive mode.
"