3 "users to take into account"
4 string typestr="user_name"
8 This option may be given multiple times in which case all given
9 user names are considered admissible. See also --uid below.
14 "user id(s) to take into account"
15 string typestr="uid_spec"
18 An uid specifier may be a single uid, a range of uids,
19 or a comma-separated list of single uids or ranges.
25 Only consider uids greater or equal than 42:
28 Only consider uids between 23 and 42, inclusively:
31 Consider uids 23-42, 666-777 and 88:
32 --uid 23-42,666-777,88
34 If no --user option is given and also --uid option is not given
35 (the default), all users are taken into account.
45 Only print num lines of output. If negative (the default),
46 print all lines. This option is honored in all select modes
47 except global_summary (which outputs only one single line).
52 "only consider matching directories"
53 string typestr="regex"
56 Regular expression that must match the directory name for
57 the directory to be considered for the output of the query.
58 See regex(7) for details.
60 Depending on whether --print-base-dir is given, the absolute
61 directory name or only the part of the directory name below
62 the base directory is matched against \"regex\".
64 If this option is not given (the default) all directories
65 are taken into account.
67 If \"regex\" starts with '!', directories are matched against
68 the remaining part of \"regex\" and the sense of matching is
74 "use a customized header for listings/summaries"
75 string typestr="string"
78 This option can be used to print any string instead of the
79 default header line (which depends on the selected mode).
81 In user_list mode the header is a format string which allows
82 to include the uid and the user name in the header. See the
83 --format option for more details.
85 It is possible to set this to the empty string to suppress
86 the header completely. This is mostly useful to feed the
92 "use a customized trailer for listings/summaries"
93 string typestr="string"
97 This option can be used to print any string at the end of
100 In user_list mode the trailer is a format string with the
101 same semantics like the header string.
104 option "select-mode" m
105 #~~~~~~~~~~~~~~~~~~~~~
106 "How to print the results of the query"
108 values="user_summary","user_list","global_summary","global_list"
109 default="user_summary"
112 user_summary: Print totals for each admissible uid.
113 user_list: Print a list for each admissible uid.
114 global_summary: Only print totals.
115 global_list: List of directories, regardless of owner.
120 "how to sort the user list or the global list"
122 values="size","file_count"
126 This option is ignored if select-mode is neither \"user_list\", nor
132 "file to write output to"
133 string typestr="path"
137 This option is only useful in interactive mode. If stdin is redirected
138 from a script, and the script contains several queries one can use
139 this option to let each query write its output to a different file.
141 If the option is not given, or its argument is either \"-\" or the
142 empty string, stdout is assumed. The following conventions cause the
143 output to be written in a different way:
145 \"path\" may be prepended by '>' which instructs adu to truncate
146 the output file to length zero. If \"path\" does not start with
147 '>' and \"path\" already exists, the query is aborted. Otherwise,
148 the file is created and truncated. The output file name \">\" is
151 If the first two characters of \"path\" are '>', the output file
152 (given by removing the leading \">>\" from \"path\") is opened in
153 append mode. It is no error if the output file does not exist. However,
154 as above the output file name \">>\" is considered invalid.
156 If the first character of \"path\" is '|', a pipe is created and the
157 rest of \"path\" is executed with stdin redirected to the reading
158 end of the pipe while the query output is written to the writing end
159 of the pipe. Again, specifying only \"|\" is considered invalid and
162 See the manual page for examples.
165 option "user-summary-sort" -
166 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
167 "how to sort the user-summary"
168 enum typestr="col_spec"
169 values="name","uid","dir_count","file_count","size"
173 It is enough to specify the first letter of the column specifier,
174 e.g. \"--user-summary-sort f\" sorts by file count.
177 option "print-base-dir" -
178 #~~~~~~~~~~~~~~~~~~~~~~~~
179 "whether to include the base-dir in the output"
182 If this flag is given, all directories printed are prefixed
183 with the base directory. The default is to print paths relative
189 "How to format the output"
190 string typestr="<format_string>"
194 A string that specifies how the output of the select query is
195 going to be formated. Depending on the chosen select-mode,
196 several conversion specifiers are available and a different
197 default value for this option applies.
199 adu knows four different types of directives: string, id,
200 count and size. These are explained in more detail below.
202 The general syntax for string and id directives is %(name:a:w)
203 where \"name\" is the name of the directive, \"a\" specifies
204 the alignment and \"w\" is the width specifier which allows
205 to give a field width.
207 The alignment specifier is a single character: Either \"l\",
208 \"r\", or \"c\" may be given to specify left, right and
209 centered alignment respectively. The with specifier is a
210 positive integer. Both \"a\" and \"w\" are optional.
212 One string directive supported by adu is \"dirname\" which is
213 substituted by the name of the directory. It is available
214 if either user_list or global_list mode was selected via
218 Print dirname without any padding:
222 Center dirname in a 20 chars wide field:
226 The count and size directives are used for non-negative
227 numbers. The syntax for these is %(name:a:w:u). The \"a\" and
228 the \"w\" specifiers have the same meaning as for the string
229 and id directives. The additional \"u\" specifier selects a
230 unit in which the number that corresponds to the directive
231 should be formated. All three specifiers are optional.
233 Possible units are the characters of the set \" bkmgtBKMGT\"
234 specifying bytes, kilobytes, megabytes, gigabytes and
235 terabytes respectively. The difference between the lower and
236 the upper case variants is that the lower case specifiers
237 select 1024-based units while the upper case specifiers use
240 The whitespace character is like \"b\", but a space character
241 is printed instead of a unit.
243 Two more characters \"h\" and \"H\" (human-readable) are also
244 available that choose an appropriate unit depending on the
245 size of the number being printed.
247 An asterisk prepended to the unit specifier prevents the
248 unit from being printed. This is useful mainly for feeding
249 the output of adu to scripts that do not expect units.
251 In order to print a percent sign, use \"%%\". Moreover, adu
252 understands \"\\n\" and \"\\t\" and outputs a newline and a
253 tab character for these combinations respectively.
256 Print size in gigabytes right-aligned:
259 As before, but use 5 char wide field:
262 As before, but suppress trailing \"G\":
266 The following list contains all directives known to adu,
267 together with their types, and for which modes each of
270 pw_name (string): user name. Available for user_list,
271 user_summary and for the header in user_list mode.
273 uid (id): user id. Available for user_list,
274 user_summary and for the header in user_list mode.
276 files (count): number of files. Available for all
279 dirname (string): name of the directory. Available
280 for user_list and global_list.
282 size (size): total size/ directory size. Available
285 dirs (count): number of directories. Available
286 for user_summary and global_summary.