The Linux CLI for Beginners, or, Fear Not the Linux Command Line! - page 2
Please Meet the Linux TerminalNow that you have a terminal open you can start entering commands. First, let's take a look at a really useful Linux command-line utility called locate. It's a very fast way of finding files on your system.
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.
$ 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.
Pipes to the rescue
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.