13.10. 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 with
the command:
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, a pager utility that allows you to view
information one page (or screen) at a time.
Use the vertical bar (|) to pipe the commands.
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.
To search the output of a text file using less,
press [/] and then type the keyword you want to search
for within the file. For example:
| 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; to search
for output, press [/] and type the search term.
|
Pipes can also be used to print only certain lines from a file. Type:
grep coffee sneakers.txt | lpr |
This command prints every line in the
sneakers.txt file that mentions the word "coffee"
(read more about grep in Section 13.11.3 The grep Command).
13.10.1. The more Command
The main difference between more and
less is that less allows
backward and forward movement 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.
To search the output of a text file using more,
press [/] and then type the keyword you want to search
for within the file. For example:
Use the [Spacebar] to move forward through the
pages. Press [q] to exit.