An Empirical Investigation of Command-Line Customization Michael Schröder Jürgen Cito TU Wien TU Wien Vienna, Austria Vienna, Austria
[email protected] Massachusetts Institute of Technology Cambridge, U.S.A.
[email protected] ABSTRACT the particularities of syntax and argument combinations, instead of The interactive command line, also known as the shell, is a promi- enabling them to use a more recognizable symbol (as in graphical nent mechanism used extensively by a wide range of software pro- user interfaces). fessionals (engineers, system administrators, data scientists, etc.). A way for these experts to introduce recognizability and cus- Shell customizations can therefore provide insight into the tasks tomize their command-line experience is to attach distinct names they repeatedly perform, how well the standard environment sup- to potentially convoluted, but frequently used, command and argu- ports those tasks, and ways in which the environment could be ment structures, as well as workflows expressed as compositions productively extended or modified. To characterize the patterns of commands. This can be achieved by defining shell aliases. An and complexities of command-line customization, we mined the alias substitutes a given name, the alias, with a string value that collective knowledge of command-line users by analyzing more defines an arbitrarily complex command (or chain of commands). than 2.2 million shell alias definitions found on GitHub. Shell aliases The set of aliases users define provides a window into their prefer- allow command-line users to customize their environment by defin- ences expressed as part of their personal configuration. Many users ing arbitrarily complex command substitutions.