Now that you know how to move around, it's time to take a look at what's in the directories.
But first, let's make sure you've got something you can look for in your login directory before we go any further.
touch foo.bar
Now, in your login directory, you've got an empty file called foo.bar. You'll see it in a couple minutes.
Let's also create a new directory, using the mkdir command. At the prompt, type:
mkdir tigger
Now, you've created a directory called tigger in your login directory. From root, your new directory's absolute pathname would be /home/yourlogin/tigger, and your directory is the parent of tigger. (You can learn more about creating -- and removing -- files and directories in Chapter 3.)
Now, you're ready to go.
In the DOS world, using the dir command will display the contents of a directory.
The same can be said of Linux -- with some notable exceptions.
In Linux, dir won't fully display the contents of directories, and doesn't have the power or flexibility of the list command -- ls.
In your login directory, for example, type:
dir
Now, in the same xterm window, type:
ls
Looks the same (see Figure 24). You see, among other contents, your new file, foo.bar and the new directory, tigger.
But here the similarities end. Where dir shows you the contents of your directory, it doesn't actually show you everything. Even using the ls command, by itself, won't show you all the files in your directory. To see everything, you've got to call upon an option or two.
For example, in the same window that you'd used to type the dir and ls commands, now type:
ls -a
Quite a difference. When you added the -a option, you were specifying that you wanted to list all the files in the directory (see Figure 25).
In fact, there are a multitude of options available with the ls command.
Tip: If you want to see all the options of the ls command, you can read the man page by typing man ls at a shell prompt. If you want to print the man page, type man ls | col -b | lpr at the prompt.
Why so many options? Because they can help you sort information according to your needs. For example, you can specify how files are displayed, see their permissions and much more.
Whenever a filename starts with a dot (.), it's a hidden file, and ls won't list it.
ls -al
There's quite a bit more detail now. You can see the file creation date, its size, ownership, permissions and more.
You don't have to be in the directory whose contents you want to view, either.
Let's see what's in the /etc directory by typing:
ls -al /etc
Here, you'll get plenty of information about the contents of the /etc directory.
If you want to add color to your listing, just include the --color option.
ls -al --color /etc
To some, adding --color does more than add a splash of color; it gives a clue about the types of files in a directory. For example, directories might all be a royal blue, program files would be green, and so on.
The .bashrc file is used by your shell when you login (an example .bashrc file is shown in Figure 26).
Now before we go any further...
Remember that any changes you make to configuration files can cause you a world of grief if you've made a mistake and you don't have a backup copy of that file.
To make a backup copy, make sure you're in your login directory and in an xterm window, type:
cd
cp .bashrc .bashrc2
When you type the above command, what you're saying is, ``make a copy of the .bashrc file and name that copy .bashrc2.''
Now, you have a backup copy of the unmodified .bashrc file in your login directory. If you make a mistake or have trouble, you can replace your .bashrc file by typing:
cp .bashrc2 .bashrc
at the shell prompt.
If you need to type this command, you'll be saying, ``make a copy of the file .bashrc2 and name that copy .bashrc.'' The copy command here will overwrite the original .bashrc file -- and you'll still keep a copy of the original (and untouched) .bashrc file with the name of .bashrc2.
pico .bashrc
You should see something like this:
# .bashrc# User specific aliases and functions
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc
fi
It's a pretty short file. Those hash marks (#) are comments. Any text after them is ignored by the shell, but they are put there to help guide anyone who's editing or modifying files.
Bring your cursor under the line #User specific aliases and functions and type:
alias ls="ls -al --color"
So the full file ought to look something like this:
# .bashrc# User specific aliases and functions
alias ls="ls -al --color"
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc
fi
See Figure 27 for an example in Pico.
Double-check for any typos then, when you're satisfied with the changes, exit by pressing the [Ctrl] and [X] keys. You'll see, at the bottom of your editor screen, a message reading:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES)?
Press [Y] for ``yes.'' Now, another message will appear at the bottom:
File Name to write: .bashrc
Simply pressing [Enter] will save your changes to your .bashrc file.
You won't be able to see your changes take effect until you close your xterm window and open a new xterm. Once you do that, you'll see your modifications take effect.
A little later in this chapter, when we introduce you to pipes and I/O redirection, you'll discover that there are other ways to view the contents of a directory.
Summary: To see the contents of a directory, type ls at a shell prompt; typing ls -a will display all the contents of a directory; typing ls -a --color will display all the contents categorized by color.