Terminal applications are useful
Terminals are old
A terminal (or console) is an interface between the user and the computer (wikipedia), since the beginning of computer and still in use today in most modern operating systems. Their are obligatory when use with limited graphic stack, like early development of an operating system.
The most important element is the shell. Many simple like sh or ash and may complex like bash, zsh, fish, nushell… They define the vocabulary of the formal language.
Command lines are powerfull
The limit of command lines are hard to define. They can be combine/chain using the shell, making use of the functionnality of all available programs. They are easier to develop and can use parameters to fine-tune its functionnalities. If each program is a button to compare with desktop application, thousands of them would be made.
The commands can be save in script file, use to make even more complex combination and can be consider as application themself like passwordstore.
The documentation can be browser with man
command and developper can propose
command completion using the shell fonctionnality.
Terminal user interface
They are harder to develop because you need to completly replace the current shell interface and use a more complex inner state.
The most developped aspect in an terminal is the editor. They are many
available with the most known nano
, emacs
, vi
, vim
, neovim
. Each of
them having their own selling point: simplicity, functionnality or modality. My
favorites are more recent, begin with kakoune
but now helix. They made me stop using
desktop editor where I can.
But many more awesome applications are available, like: