Why? Maybe because of our exposure to GUI (which is extensively insisted by Windows) taught us that meddling with the terminal is not worth it. Or maybe because the geekiness associated with the terminal, i.e., it is text-based and depend on arcane commands such as “sudo rm -rf /” or “df -k” just to do anything.
But then, maybe our intuitions are not so correct – that’s why until today, every OS available (Windows, Mac, Linux, FreeBSD, OpenSolaris) include a terminal or a command prompt.
The command prompt (or terminal as it is called in Linux and maybe in Mac) is primarily oriented to users who can use it. But this does not necessarily mean that only geeks, programmers and developers can use it. The users themselves can use it, if they want to.
Why is the terminal and the CLI in general so repulsive? Maybe it is assciated with the fact I mentioned earlier that you have to memorize arcane commands in order to make it work.
I do say that it is true, but the thing is. do you have to memorize them?
I do think that the command prompt/terminal is there because there are things GUI can’t simply do that CLI can easily do.
Windows users do beg to differ. However, Linux and Mac fans can say that this is true.
Why, you might ask. You might also be tempted to say, “We’re in the era of touch screens and voice recognition systems – so why use the terminal?”
Maybe this can be attributed to the fact that Windows focused too much on the GUI that their command prompt has become so outdated.
This is however not the case for Linux and Mac users, for the terminal plays a significant role for the user’s OS experience, especially in Linux, OpenSolaris, and FreeBSD users.
For now, I will focus on teh Linux terminal, because the Mac terminal is almost the same (I think) with the Linux terminal.
Let me just summarize what cool things can you do with the Linux terminal (by default, i.e. without installing other programs that MODIFY the terminal) that teh Windows terminal can’t:
1. Do Mac spoofing. (Curious? Search the web.)
2. Make, edit and save text files.
3. Download files – from programs to files to tarballs – use your imagination.
4. Compile programs – source code, OS kernel – use your imagination.
5. Elevate a user’s permission level from user to root.
6. Delete an undeletable file, or delete the OS itself without the OS complaining. (Uses #5.)
7. Install/uninstall programs
8. Extract/compress files.
9. Open a program with a different user level. (Uses #5.)
10. Extract information from the OS, such as mounted and unmounted drives.
11. Convert a video or audio file from one format to another. (Uses scripts.)
12. Connect securely to another server (via ssh).
And others. Just search the net.
As compared to what you can actually do to the DOS terminal (another name to the Windows command prompt). Maybe this is why MS do not want the command prompt running in the first place.
You might argue that GUI is enough to do most or all the things that I mentioned, but if you really want to harness the power of the OS or want to have instant results (maybe not that instant, but no waiting for the splash screen or window rendering), then you really have to use the terminal.
And besides, the Linux terminal is really more powerful (just search the net for supporting facts) than the Windows terminal.
Let us not forget Mac, OpenSolaris and FreeBSD here (and also Unix): these OSs are more or less based on the Unix OS, so they also share more or less the same capabilities as the Linux terminal have, which is in its original form based on Minix, which is in turn based on Unix.
You think I miss something, or you have violent reactions, suggestions or comments? Just post ’em here.