X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=adu.ggo;h=2964558ada5ba0c38153fd780d09db5d70c51b71;hp=bb8e2a6ef123788ac47f135d4d1a96b3391747b0;hb=43b8c3a61559d52326fff1b6661904af470d9225;hpb=d9dceac756fb9d8b08ee01bc47fa61e7b5832b53 diff --git a/adu.ggo b/adu.ggo index bb8e2a6..2964558 100644 --- a/adu.ggo +++ b/adu.ggo @@ -3,8 +3,7 @@ # Licensed under the GPL v2. For licencing details see COPYING. package "adu" -version "0.0.1" -purpose "advanced disk usage +purpose " adu creates a database containing disk usage statistics of a given directory. It allows to query that database to quickly retrieve @@ -25,7 +24,6 @@ details=" configuration file. As usual, if an option is given both at the command line and in the configuration file, the command line option takes precedence. - " option "database-dir" d @@ -43,32 +41,13 @@ option "loglevel" l #~~~~~~~~~~~~~~~~~~ "Set loglevel (0-6)" int typestr="level" -default="3" +default="4" optional details=" Log messages are always written to stderr while normal output 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" @@ -89,9 +68,9 @@ section "Modes" defgroup "mode" #============== groupdesc=" - adu may 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 @@ -107,13 +86,27 @@ details=" 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). + + In interactive mode, several subcommands are available, see + the end of this document. +" + 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. " ############################## @@ -125,54 +118,53 @@ option "base-dir" b "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. " - -############################## -section "Options for --select" -############################## - -option "limit" L -#~~~~~~~~~~~~~~~ -"Limit output" -int typestr="num" -default="-1" -optional -dependon="select" +option "one-file-system" x +#~~~~~~~~~~~~~~~~~~~~~~~~~ +"do not dive into other file systems" +flag off +dependon="create" details=" - Only print num lines of output. If negative (the default), - print all lines. + Skip directories that are on different file systems from the + one that the argument being processed is on. " -option "size_unit" - -#~~~~~~~~~~~~~~~~~~~ -"select output format for sizes" -enum typestr="format" -values="h","b","k","m","g","t" -default="h" +option "hash-table-bits" - +#~~~~~~~~~~~~~~~~~~~~~~~~~ +"specify the size of the uid hash table" +int typestr="num" +dependon="create" +default="10" 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. + 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 "count_unit" - -#~~~~~~~~~~~~~~~~~~~~ -"select output format for counted values" -enum typestr="format" -values="h","n","k","m","g","t" -default="h" +############################## +section "Options for --select" +############################## + +option "select-options" s +#~~~~~~~~~~~~~~~~~~~~~~~~~ +"Options for select mode" +string typestr="" optional +dependon="select" 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. + 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 use + quotes to prevent the select options from being interpreted + as adu options, or via the \"set\" command in interactive mode. "