Red Hat Linux 8.0: The Official Red Hat Linux Getting Started Guide
Prev | Chapter 11. Shell Prompt Basics | Next

# Pipes and Pagers

In Linux, pipes connect the standard output of one command to the standard input of another command.

Consider the `ls` command that was discussed earlier. There are plenty of options available with `ls`, but what if the contents of a directory scroll by too quickly for you to view them?

View the contents of the `/etc` directory.

    ls -al /etc

How do you get a closer look at the output before it moves off the screen?

One way is to pipe the output to a utility called `less`. `less` is a pager utility that allows you to view information one page (or screen) at a time.

Use the vertical bar (`|`) to pipe the commands.

    ls -al /etc | less

Now you can view the contents of `/etc` one screen at a time. To move forward a screen, press [Space]; to move back a screen, press [B]; to quit, press [Q]. Alternatively, you can use the arrow keys to navigate with `less`.

| Tip
| To read startup messages more closely, at a shell prompt, type `dmesg | less`. You will be able to read the file one screen at a time. Use the arrow keys to navigate the file.

Pipes can also be used to print only certain lines from a file. Type:

    grep coffee sneakers.txt | lpr

This will print every line in the `sneakers.txt` file that mentions the word "coffee" (read more about `grep` in the Section called The grep Command).

## The `more` Command

The main difference between `more` and `less` is that `less` lets you move backward and forward using the arrow keys, while `more` uses the [Spacebar] and the [B] key for forward and backward navigation.

List the contents of the `/etc` directory using `ls` and `more`.

    ls -al /etc | more

Figure 11-8. Piping Output of `ls` to `more`

Use the [Spacebar] to move forward through the pages. Press [q] to exit.

Prev | Home | Next
Manipulating Files with `cat` | Up | More Commands for Reading Text Files