The Linux shell is a program that acts as an interface between the user and the Linux Kernel [1]. The shell gives you a prompt, waits for your typed commands, and then executes these commands by interpreting them once you hit the enter key [2]. The shell is able to interpret your commands by reading the first word you type as the command that you want to execute, and is also able to tell you if you type a bad command [3].
There are several types of shells available for our Linux system [4]:
Click here for a comprehensive list of differences between the Unix shells.
The Z shell (zsh) is referred to as the most powerful and configurable UNIX Shell available [8]. Click here for a comprehensive list of zsh features. I decided to use this shell on the RED system because of its many features. First, after logging into RED, I typed the command: echo $SHELL to determine my default shell. It was /bin/bash. Next, I ran the wget command: wget http://blue.ils.unc.edu/September30/zsh/zsh-4.0.4-5.src.rpm to download the zsh file into my directory, which was also an rpm file. RPM stands for RedHat Package Manager, and is used to install, remove, configure, and update software. I tried running the install commands that I noted in the man rpm pages, as well as the Sarwar text with no luck. Finally I decided that perhaps I needed to be root, and after changing to root I was successful with the command: rpm -i zsh-4.0.4-5.src.rpm. However, I realized that I did not receive any information with this, so I ran the command: rpm -i zsh-4.0.4-5.src.rpm -vv to get more information.
At this point, I was unsure of the next step. After some fumbling I went to the directory where the file had been placed. It had the file extension .bz2, which I had not seen before. After some research on the Internet, I found out that it was a compressed file, and eventually was able to decompress and then de-tar the file. Then I ran the commands from previous installs: ./configure, make, and make install. Everything went fairly well. I then copied zsh into the /bin directory. I then tried the command chsh to change to the new shell. It said that zsh was not in the /etc/shells file. I went into that file but it was not a plain text file, so I could not modify it. Finally, by typing sudo zsh and then entering your password, you can enter the Z Shell, denoted with the # prompt.
ZSH provides a more advanced, configurable shell than previously available. A tutorial is available on configuring zsh to meet your needs. Click here to learn more about the configurations and the functionality that it will allow. Once installed, it is easy to change into zsh with a single command, and return to your default shell with the exit command. Advanced Linux users can also use the Z shell for programming, but that is beyond the scope of this introduction.
Click here for the installation script.
Click here for the Z Shell man pages.
For Linux users, zsh offers increased functionality and more options than other shells. Until I become more proficient with Linux and bash, I am hesitant to make zsh the default shell. It seems to work well on our system, and can be utilized by any of our four group members.
Last modified 10/6/2002
Questions or comments?