For instance, suppose somebody sent me a funny picture a while back of a squirrel with tiger stripes. I know I saved it, but I can't remember where! But it probably had "squirrel" or "tiger" or maybe both somewhere in the name.
From the desktop I can do simple filename searches, but it's a bit slow and, as you'll see, it's not as flexible. So let's try it from the command line. Type:
$ locate tiger
Don't type the $, that's just to show you that this command can be run as an ordinary user. locate tiger gets quite a few matches (Figure 3). The
list is short enough that I could read through them all, but why not
get the computer to do that work for me?
So what if I try:
$ locate squirrelinstead?
Eek! I'm not going to tell you how many files that found. Suffice to say that I take way too many pictures of squirrels, and finding one specific file in that mess looks way too hard.
The locate command depends on a database of every filename on your system, and most Linux distributions automatically update this database daily. It doesn't hurt to update it manually just to make sure, using the updatedb command. You need root powers to do this, which on Ubuntu you get with the sudo command:
$ sudo updatedb
It can take a few minutes, so be patient.
Fortunately, the Linux command line offers a way to combine these two
searches. It's called a pipeline, because it uses the ASCII
vertical bar character sometimes called a "pipe", which is the uppercase of the back-slash key:
|.
Most basic Linux commands are set up so that you can "pipe" the output of one program into the input of another. The simplest version of a pipeline is one that uses the program "less" to display a file in screen-sized chunks. less shows you one page at a time; hitting the spacebar will take you to the next page, while q will quit. Try it for yourself in your terminal window. In case you don't have as many squirrel pictures as I do, try searching for files containing "cat":
$ locate cat | less
I bet you didn't know you had so many cat files on your system! Remember, q will get you out of less and back to the command prompt.
Okay, how do we use a pipeline to help find the tiger-squirrel picture? With the grep command, probably the single most useful command Linux offers.