在Linux系统上命名目录的方式是相当隐秘的,这要追溯到电脑硬件处理能力比较弱而价格又比较贵的时期。在Linux系统上命名目录的方式似乎有点笨拙,但与其他的每件事情一样,这只需花一些时间加以习惯。通过描述Linux文件系统的全景,使读者可以对Linux的文件系统有较清楚的认识。
根目录(/)
目录结构上的最高点被称为根目录。它使用了与超级用户相同的名称,可以将根目录和超级用户都想像成顶层,这样比较容易记忆。单个字符斜杠("/")表示根目录。
注意,/目录与root用户的主目录不是一回事,其主目录为/root,因此/root目录是/的子目录。
在Linux系统上的其他目录都包含在根目录之下的层次结构中,这一点不同于Windows系统。Windows系统中的每个驱动器被赋予了自己的字母及其自己的目录结构。在Linux中,系统上所有的存储设备都被装载到根目录之下的每个目录中,或者直接在根目录下,或者更下一层。
主目录(~)
Linux的目录名称与众不同,现在来说明一下主目录。如果两个用户具有不同的用户账户和不同的主目录(并且应该有不同的主目录),那么哪一个是主目录呢?对于不同的用户,答案是不同的。例如,用户1的主目录被称为/home/millerm。如果用户1希望访问该目录,可以输入波折号(~),用户1的系统知道用户1想到主目录中。如果用户2试图用波折号大小改变目录,那么用户2不会到达用户1的主目录,用户2将到达用户2的主目录。
这是一种帮助用户找到原路的快捷方式,能使用户更快地访问自己的主目录。例如,用户下载了一个小程序(ddr);因为它放置在主目录下,所以用户能够在其他地方用下列命令运行它(提示符中的斜杠指明用户在/目录中):
millerm@romans:/> /home/millerm/downloads/ddr
用户如果想节省一些时间,可通过利用波折号快捷方式执行相同命令也能做同样的事情。
millerm@romans:/> ~/downloads/ddr
dot文件
Linux另外一个令人感到陌生的术语是"dot"文件,这些文件的名称以点(".")开始。通常,这些文件是隐藏的。例如,列表名为secret的目录中的文件:
millerm@romans:~> ls secret
millerm@romans:~>
根据目录列表命令,这里没有任何文件。但是,如果发出命令去查看那些以点开始的目录内容,则得到了以下结果:
millerm@romans:~> ls -a secret
. .. .secret
现在,就可以看到了名称为"."和".."的条目,以及名称为".secret"的文件。"."条目表示当前工作目录,".."条目表示当前工作目录的父目录。".secret"文件在任何目录中都存在,但是如果不查看"dot"文件就看不到它。这是一种存储配置文件的好方式,可以避免弄乱你的主目录,将文件变成"dot"文件并不提供真正的安全性,因此它纯粹是一种类似整理箱的东西,利用这个技巧还可以隐藏目录名称。
标准的 Linux子目录
尽管某些集成套件彼此之间存在着差异,但是大多数Linux打包版本具有类似的目录结构。这种共性继承了Linux文件系统标准(Linux File System Standard,FSSTND)或者更新的文件系统层次标准(Filesystem Hierarchy Standard,FHS)的特性。标准的名称并不像想像中希望得到的Linux系统文件那样重要。
记住每个标准目录所包含的内容并不重要。用户需要树立一种把握重点的观念。下面将展示Linux系统中根目录的内容,并描述该目录树中最重要的内容和功能。
1./bin
这个目录包含超级用户和一般用户使用的命令。这些命令对于系统来说通常是至关重要的,它们提供一些操作,比如拷贝、移动和删除文件,登录,创建和打开文文件,识别系统名称,查看文本文件等。用户通常不会去改变/bin目录的内容(如果需要这样做,必须以root身份去做)。
2./boot
这个目录包含系统启动所需的大多数文件,电脑启动时需要的其他文件存储在/etc和/shin目录中。不要寄希望于用手工方式修改/boot目录。
3./dev
/dev目录包含设备文件和其他特殊文件。表4-l给出了用户可以在/dev中发现的各类设备例子。
表4-1 在/dev中的设备例子
设 备 名 称 设 备 类 型
/dev/ide 整个IDE主硬盘驱动器
/dev/hdb1 在IDE辅硬盘驱动器上的第一个分区
/dev/fd0 第一个软盘驱动器,自动诊断类型
/dev/lp0 第一个并行打印机
/dev/midi00 第一个MIDI端口
/dev/null 空设备(为了避免某些软件总向它发送信息)
/dev/psaux PS2键盘端口
/dev/ramdisk RAM磁片
/dev/scd0 第一个SCSI CD-ROM驱动器
/dev/dsa 第一个完整SCSI硬盘驱动器
/dev/sto 第一个SCSI磁带驱动器
/dev/tty1 第一个虚拟控制台
注意,这不是一个完整的列表,但它基本列出了需要知道的设备。对于这个目录不要做不必要的操作。
4./etc
这个目录包含启动和正常运行Linux系统所需的配置文件。这些文件大多能够被编辑(通过配置工具或文本编辑器来完成)。大多数Linux集成套件提供了许多辅助软件用于配置/etc目录中的文件,以便使用户更容易地使用Linux。在安装过程中用户所回答的一些问题将自动填充到相关的/etc目录文件中。
5./home
在典型情况下,这个目录拥有系统中每个用户的子目录。例如,如果Mom、Dad、Erin和Matt是系统中的所有用户,那么/home目录可以包含四个用户目录:
/dad
/erin
/matt
/mom
也有其他方式。例如,如果系统中有大量用户,可以将他们分组放入部门子目录。有的Linux系统根本不使用/home目录,并且将主目录放置在其他地方,但这种系统比较少见。
6./lib
这个目录包含了位于/bin和/shin中程序需要的库文件。一个库文件是一个程序文件,它包含了能够被多个不同程序所使用的代码。将这些共用代码以库的形式存放起来,可以减轻程序设计者的工作量。这一般被认为是一种很好的处理方式。用户可能偶尔需要升级该目录中的库,但在大多数情况下,没有必要进一步了解这些库中的内容。
7./mnt
这个目录用于临时装载文件系统。例如,用户可以将软盘驱动器/dev/fd0装载到已经在根目录之下建立的一个独立目录(/fd0),但是用户同样可以很容易地将/dev/fd0/装载为/mnt/floppy(事实上,许多Linux集成套件通过默认地创建这种装载点而帮助用户完成了这一工作)。使用/mnt/floppy将使得用户的根目录较为整洁。
8./opt
用户的Linux集成套件中也许有这个目录。它为第三方应用程序提供了一个存储位置,但是在实际工作中,这些应用程序中的大多数要么安装在/usr/local目录中,要么被打成包存放在其他地方。当用户找到并运行一些第三方应用程序时,它们将创建和填充/opt目录及其子目录。
9./proc
这个目录用于同Linux内核交换数据。在这个目录中有一些能够查看的文本文件,它们包含一些系统信息,比如内核版本、系统正常工作时间和有关系统中处理器及内存的信息。
10./root
/root目录被典型地用做超级用户的主目录。root账户归系统管理员所有,因此在这个目录中不应该堆积很多垃圾。
11./sbin
/sbin只能把root使用的至关重要的系统管理命令存放在这个目录中。如果启动系统过程中需要某个只有超级用户才能使用的命令,那么这个命令就在/sbin目录中。/sbin目录中包含了文件系统检查命令、关机命令和一些网络命令等。
12./tmp
系统利用该目录存储暂存文件。不必计划在这里存储自己的暂存文件,程序将自动完成这一工作。
13./usr
/usr目录包含系统中每个用户都使用的文件和程序。这里存放了随同Linux集成套件一起安装的大多数程序和实用工具,并且能够供普通账户(不仅仅是超级用户)使用。文件系统的层次结构规定了这个目录具有只读访问许可权,换句话说,用户不能改变/usr目录中的内容。
14./usr/local
在/usr目录中,/usr/local目录是一个例外,用户可以修改其中的内容。请记住,在Linux中,一个文件系统可以被装载到任何目录名称之下。事实上,一些人甚至将/usr/local指向另一个分区。这是因为在许多Linux安装过程中,/usr/local是安装大多数第三方应用软件的地方。
这意味着/usr/local目录可能一开始就是空的,可以在/usr/Iocal目录中存放从Web上下载、购买或者与网络邻居共用的程序;这同时也意味着如果想备份系统中只有一个拷贝的文件,那么你应该备份/usr/local目录以及/etc、/home和/opt。
15./usr/src
/usr/src目录包含Linux的源代码,因为可能有用户想自己编译内核。这个目录是重要的,当一个集成套件被安装到用户的PC中时,它应该用内核原始文件和头文件填充/usr/src目录。如果你想重新编译这个内核,那么你可以利用/usr/src目录中的文件完成这件事情。另一方面,如果想下载并编译一个更新的内核,那么推荐用户在一个可以控制的目录中完成编译工作,比如在主目录中的某个特殊地方。
16./var
/var目录是Linux系统存储可变数据的地方。可变数据包括锁文件、日志文件、邮件箱、周边同作数据和快取内存数据。这个目录可能存储有趣的数据,但是大多数存储在这里的数据是由于程序将它们放置在这里的缘故。
cwb2264 于 2007-06-04 17:48:00发表:
谢谢楼主赐教!
alex0007 于 2006-12-06 23:04:26发表:
这个知识在看<windows用户转向Linux的12个步骤>中看过。
smilecome 于 2006-12-06 21:12:05发表:
受用,支持一下
myxsg 于 2006-12-06 11:50:30发表:
讲的不错,我顶一下拉:0L :0L
于锦波 于 2006-12-05 10:55:44发表:
:0L