There were a few attempts to do this. In fact, the berkely "csh"
shell had the ability to create aliases which made it possible to make
simple aliases that could be used in place of the short commands.
the original K&R commands were very short because the terminal access
was through a 300 baud tty serial interface connected to a teletype. A
typo in the middle of a command was a real problem. You might have to
retype the whole command.
The irony is that as people got familiar with the commands, they really
LIKED the very short command names. But bash, ksh, and csh all support
aliases. Some popular ones include:
alias move mv
alias copy cp
alias list ls
alias more less
alias directory ls -l
and so on.
Many people would have 50 to 60 aliases which included simple "one
Of course, the other thing you can do is write scripts using the cli
shell of your choice. In addition, many applications can be scripted.
Most experienced users create a ~/bin directory (a bin directory in
their home directory) and then ad this directory to their main profile
If you really want to be strange, you can create interesting names that
describe what a program does. For example backup_my_email
Linguistically, English is a terrible language to parse. For example,
a computer parser/translator translated english to russian and russian
back to english. When this computer was fed the phrase "the spirit is
willing but the flesh is weak" it was translated to "the wine is strong
but the meat is rotten".
There have been several attempts to create "plain english" programming
language such as pilot and cobol. Often these aren't much better. The
one good thing about a programming language like cobol is that the
actual program can be included in the legislative act, which eliminates
most of the ambiguity, and yet it still looks like a standard english
Other attempts were even wierder. The FORTH program would let you put
the "nouns" on the stack, then have the "verbs" operate on the stack.
In fact, forth let you use any word you want, and assign any meaning
(program) to that word. The forth programs or words were then stored
in the "dictionary".
Linux environments also come with commands like "whatis", so you can
whatis grep, and you'll get a basic description of grep. For a bit
more information, you can use the manual. K&R shorthand for this is
"man", but you can use an alias to make "manual grep" work too.
In addition, you can use <command> --help on almost every single
command line command, which can be used to quickly get a list of which
flags are available. Many times the whatis notation provides
descriptive arguments to very short 1-letter flags.
Then we have some really strange commands that can be aliased.
alias searchfile grep
alias search_replace sed
alias stream_edit sed
alias column_file_search_report awk
The other advantage of scripting of course is that you have far more
control over how things can be combined. Take a simple command like
There are many different expressions available for this command, but
trying to use a GUI would tend to limit you.
Once upon a time, there was even a gui based shell. It had drag and
drop modules which could be connected (just like pipelines) and when a
module was dropped, flags could be selected and set in another dialogue
area. The problem with this program, they couldn't keep up with how
quickly the anthology is growing.
There is also swig, which can be used to generate a wrapper file from a
synopsis or man page.
There are also info files. The advantage to this documentation is that
they make generous use of hyperlinks, which means that you can follow
the see-also sections along with details by following the links.
There are also gui interfaces to the manuals including xman.
There are also the Linux howto manuals which are usually available in
both HTML and "plain text". We also have docbook format, which can be
used to generate both HTML documents and printable "TeX" documents
which can be converted to postscript. If you don't have a postscript
printer, CUPS can convert postscript into HP's PCL along with several
other popular printer formats.
Many of the popular Linux GUI interfaces are actually script
Linux advocates normally don't want to overwhelm new users with all of
the capabilities of Linux scripting and CLI commands. Ironically, this
is a bit like having an 8 cylinder 32 valve supercharged engine, that
you only drive in a state where the maximum speed limit is 55 mph. You
really don't get to experience all of that power until you want to get
into that tight slot before the convoy of Semi tractor/Trailers gets in
front of you.
Under the covers, Windows is mostly dependent on COM objects which are
packaged into DLLs, and must be compiled into programs. Furthermore,
each application using these large DLLs must load the entire DLL into
Under the covers, Linux is mostly command line shell commands which
have been compiled from objects stored in libraries. Most of these
commands or programs are very small, and only require very small
library modules to be loaded. This is why you often go to the task
manager processes tab in Windows XP and see 5-6 20-30 kbyte program
images running. IEXPLORE.EXE (40 meg), ntaskldr.exe (34 meg),
svchost.exe (20 meg), explorer.exe (18 meg), soffice.bin (15 meg), and
so on. This is IN ADDITION to the kernel itself (170 meg).