5.2 Files and Directories

_Files_ are a facility for storing and organizing information,

analogous to paper documents. They’re organized into _directories_,

which are called _folders_ on some other systems. Let’s look at the

organization of files on a Debian system:

/.

A simple / represents the root directory. All other files

and directories are contained in the root directory. If you

are coming from the DOS/Windows world, / is very similar to

what C:is for DOS, that is the root of the filesystem. A

notable difference between DOS and Linux however, is that

DOS keeps several filesystems: C: (first hard disk), A:

(first floppy disk), and D: (either CD-ROM or second hard

disk), whereas Linux has all its files organized above the

same / root.

/home/janeq.

This is the home directory of user “janeq.” Reading left to

right, to get to this directory you start in the root

directory, enter directory home, and then enter directory

janeq.

/etc/X11/XF86Config.

This is the configuration file for the X Window system. It

resides in the X11 subdirectory of the /etc directory. /etc

is in turn a subdirectory of the root directory, /.

Things to note:

◼ Filenames are case-sensitive. That is, MYFILE and MyFile are

_different_ files.

◼ The root directory is referred to as simply /. Don’t confuse

this “root” with the root user, the user on your system with

“super powers.”

◼ Every directory has a name, which can contain any letters or

symbols _except_ /. The root directory is an exception; its name

is / (pronounced “slash” or “the root directory”), and it cannot

be renamed.

◼ While you can use almost any letters or symbols in a filename,

in practice it’s a bad idea. It is better to avoid characters that

often have special meanings on the command line, including: { } (

) [ ] ’ ‘ " \/ > < | ; ! # & ^ * %

◼ Also avoid putting spaces in filenames. If you want to separate

words in a name, good choices are the period, hyphen, and

underscore. You could also capitalize each word, LikeThis.

◼ Each file or directory is designated by a _fully-qualified

filename, absolute filename_, or _path_, giving the sequence of

directories which must be passed through to reach it. The three

terms are synonymous. All absolute filenames begin with the /

directory, and there’s a / before each directory or file in the

filename. The first / is the name of a directory, but the others

are simply separators to distinguish the parts of the filename.

◼ The words used here can be confusing. Take the following

example:

/usr/share/keytables/us.map.gz. This is a fully-qualified

/filename;

some people call it a _path_. However, people will also refer to

us.map.gz alone as a filename.

◼ There is also another use for the word “path.” The intended

meaning is usually clear from the context.

◼ Directories are arranged in a tree structure. All absolute

filenames start with the root directory. The root directory has a

number of branches, such as /etc and /usr. These subdirectories in

turn branch into still more subdirectories, such as /etc/init.d

and /usr/local. The whole thing together is called the “directory

tree.”

◼ You can think of an absolute filename as a route from the base

of the tree (/) to the end of some branch (a file). You’ll also

hear people talk about the directory tree as if it were a _family_

tree: Thus subdirectories have “parent,” and a path shows the

complete ancestry of a file.

◼ There are also relative paths that begin somewhere other than

the root directory. More on this later.

◼ No directory corresponds to a physical device, such as your hard

disk. This differs from DOS and Windows, in which all paths begin

with a device name such as C:\. The directory tree is meant to be

an abstraction of the physical hardware, so you can use the system

without knowing what the hardware is. All your files could be on

one disk—or you could have 20 disks, some of them connected to a

different computer elsewhere on the network. You can’t tell just

by looking at the directory tree, and nearly all commands work

just the same way no matter what physical device(s) your files are

really on.

Don’t worry if all this isn’t completely clear yet. There are many

examples to come.

Debian GNU/Linux : Guide to Installation and Usage · 第 81 / 193 题