发信人: sungang(笨刚)
整理人: sungang(2003-09-16 11:28:13), 站内信件
|
3.2.1 浏览目录树
由于整个文件系统是一个完整的目录树,因此任意时刻,用户进行操作的时候,都位于该目录树的一个位置,这个位置被称为当前目录。
$ pwd
/home/user
系统指令pwd能告诉用户,当前目录的位置。
这里是使用用户user登陆进系统的(该用户是在安装时添加的),而当前目录为/home/user,从这里可以看出,这个目录与用户之间的内在关系。事实上,系统在添加用户的同时,也为这个用户创建一个目录,用来让这个用户保存自己的个人数据和文件,这样,系统虽然同时有多个用户存在,却也不会出现混淆。这个个人的目录被称为个人的主目录(Home Directory),习惯上所有用户的Home目录被放到/home目录下,以便查找和管理。
$ ls
$ ls /home
user
可以使用ls来查看目录中的内容,如果没有任何参数的ls是查看当前目录的内容,否则查看指定目录的内容。上例中由于当前目录为个人的Home目录,目前没有内容,而/home目录下存在user这个子目录。
$ cd ..
$ pwd
/home
另一个非常重要的命令是cd,它能用来改变当前目录的位置。
使用上述命令,就可以浏览整个系统中的所有内容。
$ ls /
total 8188
-rw-r--r-- 1 root wheel 574 Mar 21 2000 .cshrc
-rw-r--r-- 1 root wheel 251 Mar 21 2000 .profile
-r--r--r-- 1 root wheel 4735 Mar 21 2000 COPYRIGHT
drwxr-xr-x 2 root wheel 1024 Jan 29 2001 bin
drwxr-xr-x 3 root wheel 512 Jan 29 2001 boot
drwxr-xr-x 2 root wheel 512 Jul 18 2000 cdrom
lrwxr-xr-x 1 root wheel 11 Jul 18 2000 compat -> /usr/compat
drwxr-xr-x 5 root wheel 13312 Feb 25 11:10 dev
drwxr-xr-x 2 root wheel 512 Jul 18 2000 dist
drwxr-xr-x 15 root wheel 2048 Jan 31 2001 etc
lrwxrwxrwx 1 root wheel 9 Jul 18 2000 home -> /usr/home
-r-xr-xr-x 1 root wheel 2797646 Feb 25 11:08 kernel
-rwxr-xr-x 1 root wheel 2777025 Mar 21 2000 kernel.GENERIC
-r-xr-xr-x 1 root wheel 2729126 Feb 23 09:13 kernel.old
drwxr-xr-x 1 root wheel 4096 Jan 1 1980 mnt
drwxr-xr-x 2 root wheel 2560 Feb 25 11:12 modules
drwxr-xr-x 2 root wheel 2560 Jan 28 2001 modules.old
dr-xr-xr-x 1 root wheel 512 Aug 1 21:35 proc
lrwxr-xr-x 1 root wheel 10 Jul 18 2000 root -> /home/root
drwxr-xr-x 2 root wheel 2048 Jan 29 2001 sbin
drwxr-xr-x 4 root wheel 1024 Dec 19 2000 stand
lrwxr-xr-x 1 root wheel 11 Jan 29 2001 sys -> usr/src/sys
drwxrwxrwx 7 root wheel 512 Aug 1 21:31 tmp
drwxr-xr-x 19 root wheel 512 Jan 28 2001 usr
drwxr-xr-x 18 root wheel 512 Mar 21 2000 var
/目录:目录树的根,用于保存系统的内核文件等一些系统密切的文件;
/dev目录:用于保存系统的设备文件,占用大致固定的硬盘空间;
/etc目录:用于保存系统的配置文件,包括passwd等非常重要的文件;
/bin和/sbin目录:保存了用于系统维护目的的执行文件,其中/sbin中的文件通常直接用于系统维护,/bin为提供管理员使用系统的基本工具,这两个基本目录中的内容为系统维护提供了基本工具,即使其他目录中的数据受到了破坏,这些程序应该也能正常运行,进行系统维护任务;
/tmp目录:用于存放程序运行产生的临时文件,这个目录是每个用户都可写的,当系统运行较大型的服务程序时,会要求较大的/tmp空间,有时会超过/tmp的限制,此时就需要根据情况扩大/tmp的可占用空间;
/usr目录:用于保存系统在多用户状态下正常运行时使用的多种文件,其中/usr/bin放置系统执行文件,/usr/sbin放置系统维护程序,/usr/local放置非标准的应用程序,/usr/share放置系统中的文档和其他数据文件,/usr/src中放置系统的源代码,/usr/X11R6放置X Window系统、应用程序和数据文件;
/var目录:用于保存系统运行时产生和使用的数据文件,例如/var/log目录用于放置系统日志,/var/db/pkg目录用于放置系统软件包的安装记录。很多应用程序也使用它来放置数据文件,如news服务器等。这个目录下文件会随系统的运行而不断变化,其中的很多文件会不断增大,占用大量的磁盘空间。因此,它所占用的空间需要根据服务的类型进行分配。
/home目录:使用它用于维护用户的个人目录,它的大小由用户数量及用户的活跃程度决定,也需要有足够的空间才能提供正常的服务。出于空间分配的考虑,通常使用/usr/home作为真实的个人主目录的保存位置,而使用连接的方式使/home指向/usr/home,也能提供访问。
这些目录开始就设计为保存不同类别的数据,根据数据和文件的重要性和空间需求分配目录,后续章节中我们会详细讨论/bin,/sbin与/usr/bin,/usr/sbin的区别和划分到不同目录的原因。最基本的原因是,有些程序是系统相关的,而另一些程序与系统关系不密切,与提供的服务相关,使用不同的目录保存文件可以用于分隔不同的任务,分隔系统风险,增加可靠性,对于用作服务器的FreeBSD系统是必需的。
Unix的树状目录结构十分标准,那类文件应该放置到那个目录中都有一定的习惯。当然在不同的Unix中,具体文件的位置也有细微的差别,事实上在Unix发展的过程中,标准目录树结构的也有几次较大的改动,因此不同类型的Unix,目录的习惯位置也不完全一致,例如Sun Solaris习惯上使用/opt目录来保存第三方软件。
由于FreeBSD有统一的版本,所有的开发者都使用同一个源代码树,而且使用统一的Packages Collection机制来维护应用软件,因此FreeBSD的目录结构更为整齐、干净。
|
|