Many new users of Linux (especially those coming from the Windows world) often get mentally forced into thinking that the shell (or terminal ) is just Linux’s own cmd.exe. And since they rarely use it on their Windows system, there would be no need to use it now on Linux. This is a mistaken view. The Linux shell is way bigger, robust, stronger, mature and fun – my favourite – than window’s cmd utility. There are many features of the shell that make this possible that I could talk about , but for the sake of the tittle of this post I would limit myself to five.
This is the most striking blow to windows’ cmd. The Linux shell is programmable, that means it has its own interpreted language that you can use to interact with it, if you could by writing some shell scripts. The basic programming language infrastructure include loops, test, variables, case statements, and so on. Shell scripts are basically aggregated commands, variables functions aliases and other components that have been arranged in such way to self run (without having to type and retype) with or without your attention.
For those Linux users that don’t like typing that much this is a form of bliss. The Linux CLI is so intuitive that it can help you complete some information you want if you allow it to – it can be applied to long commands, applications and file names. For you to use this feature simply type part of the command or filename and then press the Tab key (twice most times) – then the shell does the rest of the job for you. Like for example if you type ‘ip’ and then TAB twice it should look like this;
And when used to complete a filename;
Another wonderful thing about the Linux shell is its ability to keep track of the commands you have entered recently. It enables you to review, change and reuse commands that you have run in the past, which is very useful for long and complicated commands. It can help you avoid a great deal of repetitive typing and also for example you forgot name of a file or command that you used recently, you might be able to get it by checking out your command history. In its simple form you could use the up-arrow key to enter the previous command, and a continuous pressing of the up-arrow key takes you backward through earlier commands. And with this history feature comes the history command that is used to view the entire command history, but if you prefer a specific number of commands from the command history simply type that number following the history command. To check the last 20 commands you can do something like this;
Acquiring super user/power abilities.
Linux doesn’t joke with its users permissions, everybody is restricted to what they can do as it regards accessing files, running commands, software programs and the likes. Many administrative system features (or you could say powers) are left for the root or super user. But there are some ways in which non-root uses can acquire such powers; it is either they login as root (which most Linux admins would advice against), run commands with root priviledges using the sudo command (Ubuntu a strong example of this) or use the su command.
So anytime any day don’t ever think that the Linux shell is the same thing as the cmd. Anyway dont worry, as you continue in the world of Linux, you’d find out for yourself.