option "user" u #~~~~~~~~~~~~~~ "users to take into account" string typestr="user_name" optional multiple details=" This option may be given multiple times in which case all given user names are considered admissible. See also --uid below. " option "uid" U #~~~~~~~~~~~~~ "user id(s) to take into account" string typestr="uid_spec" optional details=" An uid specifier may be a single uid, a range of uids, or a comma-separated list of single uids or ranges. Example: Only consider uid 42: --uid 42 Only consider uids greater or equal than 42: --uid 42- Only consider uids between 23 and 42, inclusively: --uid 23-42 Consider uids 23-42, 666-777 and 88: --uid 23-42,666-777,88 If no --user option is given and also --uid option is not given (the default), all users are taken into account. " option "limit" l #~~~~~~~~~~~~~~~ "Limit output" int typestr="num" default="-1" optional details=" Only print num lines of output. If negative (the default), print all lines. This option is honored in all select modes except global_summary (which outputs only one single line). " option "pattern" p #~~~~~~~~~~~~~~~~~ "only consider matching directories" string typestr="regex" optional details=" Regular expression that must match the directory name for the directory to be considered for the output of the query. See regex(7) for details. Depending on whether --print-base-dir is given, the absolute directory name or only the part of the directory name below the base directory is matched against \"regex\". If this option is not given (the default) all directories are taken into account. If \"regex\" starts with '!', directories are matched against the remaining part of \"regex\" and the sense of matching is reversed. " option "header" H #~~~~~~~~~~~~~~~~ "use a customized header for listings/summaries" string typestr="string" optional details=" This option can be used to print any string instead of the default header line (which depends on the selected mode). In user_list mode the header is a format string which allows to include the uid and the user name in the header. See the --format option for more details. It is possible to set this to the empty string to suppress the header completely. This is mostly useful to feed the output to scripts. " option "trailer" T #~~~~~~~~~~~~~~~~~ "use a customized trailer for listings/summaries" string typestr="string" optional default="" details=" This option can be used to print any string at the end of the query output. In user_list mode the trailer is a format string with the same semantics like the header string. " option "select-mode" m #~~~~~~~~~~~~~~~~~~~~~ "How to print the results of the query" enum typestr="" values="user_summary","user_list","global_summary","global_list" default="user_summary" optional details=" user_summary: Print totals for each admissible uid. user_list: Print a list for each admissible uid. global_summary: Only print totals. global_list: List of directories, regardless of owner. " option "list-sort" s #~~~~~~~~~~~~~~~~~~~ "how to sort the user list or the global list" enum typestr="" values="size","file_count" default="size" optional details=" This option is ignored if select-mode is neither \"user_list\", nor \"global_list\". " option "output" o #~~~~~~~~~~~~~~~~ "file to write output to" string typestr="path" optional default="-" details=" If empty, or not given, use stdout. The following conventions cause the output to be written differently: An output file name of \"-\" means stdout. \"path\" may be prepended by '>' which instructs adu to truncate the output file to length zero. If \"path\" does not start with '>' and \"path\" already exists, the select query is being aborted. Otherwise, \"path\" is created and output is written to \"path\". If the first two characters of \"path\" are '>', the output file (given by removing the leading \">>\" from \"path\") is being opened in append mode. It is no error if the output file does not exist but, as above, the output file name \">>\" is considered invalid. If the first character of \"path\" is '|', a pipe is created and the rest of \"path\" is being executed with its standard in redirected to the reading end of the pipe. The output of adu is written to the writing end of the pipe. Again, specifying only \"|\" is considered invalid and causes an error. " 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. " option "print-base-dir" - #~~~~~~~~~~~~~~~~~~~~~~~~ "whether to include the base-dir in the output" flag off details=" If this flag is given, all directories printed are prefixed with the base directory. The default is to print paths relative to the base dir. " option "format" f #~~~~~~~~~~~~~~~~ "How to format the output" string typestr="" optional details=" A string that specifies how the output of the select query is going to be formated. Depending on the chosen select-mode, several conversion specifiers are available and a different default value for this option applies. adu knows four different types of directives: string, id, count and size. These are explained in more detail below. The general syntax for string and id directives is %(name:a:w) where \"name\" is the name of the directive, \"a\" specifies the alignment and \"w\" is the width specifier which allows to give a field width. The alignment specifier is a single character: Either \"l\", \"r\", or \"c\" may be given to specify left, right and centered alignment respectively. The with specifier is a positive integer. Both \"a\" and \"w\" are optional. One string directive supported by adu is \"dirname\" which is substituted by the name of the directory. It is available if either user_list or global_list mode was selected via --select-mode. Examples: Print dirname without any padding: \"%(diname)\" Center dirname in a 20 chars wide field: \"%(dirname:c:20)\" The count and size directives are used for non-negative numbers. The syntax for these is %(name:a:w:u). The \"a\" and the \"w\" specifiers have the same meaning as for the string and id directives. The additional \"u\" specifier selects a unit in which the number that corresponds to the directive should be formated. All three specifiers are optional. Possible units are the characters of the set \" bkmgtBKMGT\" specifying bytes, kilobytes, megabytes, gigabytes and terabytes respectively. The difference between the lower and the upper case variants is that the lower case specifiers select 1024-based units while the upper case specifiers use 1000 as the basis. The whitespace character is like \"b\", but a space character is printed instead of a unit. Two more characters \"h\" and \"H\" (human-readable) are also available that choose an appropriate unit depending on the size of the number being printed. An asterisk prepended to the unit specifier prevents the unit from being printed. This is useful mainly for feeding the output of adu to scripts that do not expect units. In order to print a percent sign, use \"%%\". Moreover, adu understands \"\\n\" and \"\\t\" and outputs a newline and a tab character for these combinations respectively. Examples: Print size in gigabytes right-aligned: \"%(size:r::G)\" As before, but use 5 char wide field: \"%(size:r5::G)\" As before, but suppress trailing \"G\": \"%(size:r5::*G)\" The following list contains all directives known to adu, together with their types, and for which modes each of them may be used. pw_name (string): user name. Available for user_list, user_summary and for the header in user_list mode. uid (id): user id. Available for user_list, user_summary and for the header in user_list mode. files (count): number of files. Available for all modes. dirname (string): name of the directory. Available for user_list and global_list. size (size): total size/ directory size. Available for all modes. dirs (count): number of directories. Available for user_summary and global_summary. "