Shell is the fundamental but powerful environment for every system administrator. Think of "command.com" in DOS, they share similarities, but the shells in Linux (Unix) are a lot more powerful and versatile.
Upon successful login, you will be given a shell. It is simply an interface between you and the system. In the shell, you can issue any commands or programs available on the system. To run a list of commands in `batch mode', you need shell too, i.e., you write a shell script to run a list of commands.
#!/bin/bash # My name myname="Terence WONG" # # Print my name # count=8 i=0 while [ $i -lt $count ]; do echo $myname i=`expr $i + 1` done exit 0;
You have a number of choices on the shell to use, e.g. bash, ksh, csh, tcsh, sh, etc. Bourne-again shell (bash) is by far the most popular in Linux world. Different shells have different (and different implementations on) built-in commands, but still can execute the same commands/programs available in the system (e.g. in /usr/bin, /sbin, and so on). Since bash is the default shell used by nearly all Linux distributions and it is also a good shell, you are highly encouraged to get familiar with it. There are at least two ways you can learn more about bash:
Info is another documentation system. To get to know how to use info,
Besides shell, vi (a de facto text editor for system administrator), cat, grep, awk, and sed are other essential tools for system administration. Nowadays, Perl is becoming an indispensable tool for system administrator. However, due to its big size and most likely it will not be available during disaster, we should not rely very much on it.