Chapter 3. Basic shell commands and related utilities

Table of Contents

3.1. Features of the shell
3.2. Navigating the file system
3.3. Manipulating the file system
3.4. Handling compressed files (tarballs)
3.5. Working with text streams
3.6. Adjusting file permissions
3.7. Using job control

Described by Joe Barr as a “web browser to the kernel,[21] the shell is always running in a terminal, no matter what program may be in the terminal's foreground at any given time. As mentioned in Section 1.4, “Shells, the shell prompt, and your home directory”, the shell in use is typically either bash or tcsh. You can determine the default shell for your system by typing echo $SHELL at the prompt.

This chapter covers many of the critical commands for working with Linux, including those for using the file system and handling compressed files. The last two sections, Section 3.5, “Working with text streams” and Section 3.7, “Using job control”, are less crucial than the others, but they may prove useful as you become more experienced with using the shell. For SSH users, however, since job control is an important part of making effective use of SSH, they would most likely benefit from reading that section.

Many of the commands discussed in this chapter belong to the GNU Core Utilities (or coreutils), a collection of basic utilities from the GNU Project.[18] You can learn more about coreutils by typing info coreutils or from the resources listed in Section A.3.5, “The GNU Core Utilities (coreutils)”.

References to further reading about the shell can be found in Section A.3, “More on the shell and related utilities”.



[21] Barr, CLI for Noobies, 12.

If you aren't familiar with the concept of an operating system kernel, try the Wikipedia article.


Back to Guide main page