UI(1)
β¨ UI(1) β the "who even IS this user" tool β¨
okay bestie, listen. this is ui, a general commands manual page, and it's literally about showing you info on local users. it's giving detective energy but make it cute. π
πΈ NAME πΈ
ui β show information about local users π
π SYNOPSIS π
ui [-hvVL] [-F separator] [-m separator] [-t format] [-d]
[[-xXO] module1.so [options] [-- [-xXO] module2.so [options] [...]]]
[-c filename] [user] | [-f filename] [...]
π DESCRIPTION π
so here's the vibe: ui uses loadable modules to display all kinds of info about a local user. you can throw in multiple usernames or filenames (see -f for that one, bestie). and if you give it no arguments at all, or a username/filename that's literally just -? then it reads the arguments from standard input. slay. β¨
-dβ loads the default modules (passwd.so,mail.soandlogin.so). you can drop this literally anywhere in the module list, it's flexible like that. π«Ά-t formatβ picks an alternate time format for modules that have time values. for the actual format syntax, go check thestrftime(3)manual page. iykyk. π-c filenameβ loads a configuration file. you can use this more than once if you're feeling extra. details are down below, keep scrolling. π-O filenameβ loads a module. all the switches that come after this one are options for this module. to end the options for this module, hit it with--. this option can be used more than once. and because of the way module chaining is implemented, the same module can be loaded more than once. no cap. π-x filenameβ like-Obut it chainsmodule1.so's output tomodule2.so's input. heads up though: this only works if the module is chainable. specify it more than once for unlimited chaining. go off. π-X filenameβ same as-x, except it doesn't outputmodule1.soinfo, it only passes the strings tomodule2.sofor processing. sneaky but make it useful. π€«-F separatorβ alternate character used to separate fields. standard escape sequences are supported. π-m separatorβ alternate character used to separate multi string values. standard escape sequences are supported too, bestie. πΈ-fβ gets information for the owners of the specified files. π-Lβ if the-foption is specified and the file is a symbolic link, this gets owner information for the file the link points to, not the link itself. follow the link, main character. π-vβ be verbose when possible. some modules may limit their display, and this should show everything available. important: this is reset for each loaded module unless specified twice. so if you want it to stick, say it twice. periodt. π£οΈ-hβ displays help text. but plot twist: a module must be specified either with the-Ocommand line option or loaded via configuration file-cfor a module's help text to be displayed. no module, no help. π-Vβ version information. that's it, that's the whole thing. β
π RETURN VALUES π
returns 1 on failure and 0 on success. also note that a module's return value affects this exit status, so don't come for me if a module is out here changing the ending. π€
π¦ FILES π¦
PREFIX/lib/userinfoβ the default location of loadable modules. that's where they live. π
β¨ EXAMPLES β¨
the following will load two modules, specify module options and load a configuration file. module options end when -- is reached. so clean, so iconic:
ui -O module.so -switches -- -O another.so -- -c filename `users`
π SEE ALSO π
strftime(3), passwd(5), aliases(5), forward(5), utmp(5), lastlog(5), ld.so(8) dlopen(3)
π CONFIGURATION FILE SYNTAX π
okay so important: there is no default configuration file that will be loaded, so you'll have to create one yourself and load it with the -c command-line option. you're the author of your own destiny, bestie. π
- empty lines, and everything to the right of a
'#', are ignored. π« - if you need a
'#'in your options, escape it with a'\'. - this file should contain any modules you want loaded and their options, separated by one or more whitespace characters, on one line per module.
each module should have a .so filename extension. if a module filename begins with a ~, it will be expanded to your home directory. some module options may require quoting β single and double quotes are supported and may also be escaped with a backslash character. multiple configuration files may be specified and may also be used with the -O command-line option. the order of module loading and output is dependent on the order of the module stack and any module options. π§
if you want module chaining, put a '>' or '-' at the beginning of the module name, before any '~'. this is the same as specifying -x or -X on the command line, respectively. the following module β which may also be chained β will be chained to this module. π
π AUTHORS π
Ben Kibbey <bjk@luxsci.net>
and that's the whole page, babe. this one shipped as Debian, dated December 05, 2004, under UI(1) β yes it's old, no it's not expired, it's vintage. πβ¨ bye bestie, go read your users. π«Ά
π¦ where this page comes from
- debian bookworm: userinfo 2.5-5+b1 Β· GPL-2.0-or-later
- debian trixie: userinfo 2.5-5+b1 Β· GPL-2.0-or-later
- ubuntu jammy: userinfo 2.5-5 Β· GPL-2.0-or-later
- ubuntu noble: userinfo 2.5-5 Β· GPL-2.0-or-later
- ubuntu questing: userinfo 2.5-5
- ubuntu resolute: userinfo 2.5-5build1 Β· GPL-2.0-or-later
- ubuntu stonking: userinfo 2.5-5build1 Β· GPL-2.0-or-later
- Copyright (C) 2001-2006 Ben Kibbey <bjk@luxsci.net>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms