Linux 目录配置: 在 Linux 系统的预设状态下,你在根目录中输入『 ls -l 』应该可以看到如下的画面:
[vbird@tsai vbird ]$ cd /
[vbird@tsai /]$ ls -l
total 153
drwxr-xr-x2 root root 4096 Feb 10 02:06 bin
drwxr-xr-x3 root root 4096 Feb 10 00:05 boot
drwxr-xr-x 17 root root77824 Feb 11 14:45 dev
drwxr-xr-x 41 root root 4096 Feb 16 15:18 etc
drwxr-xr-x8 root root 1024 Feb 9 22:44 home
drwxr-xr-x2 root root 4096 Jun 22 2001 initrd
drwxr-xr-x6 root root 4096 Feb 10 02:12 lib
drwxr-xr-x2 root root16384 Feb 10 05:35 lost+found
drwxr-xr-x2 root root 4096 Aug 30 00:10 misc
drwxr-xr-x3 root root 4096 Feb 9 22:05 mnt
drwxr-xr-x2 root root 4096 Aug 24 1999 opt
dr-xr-xr-x 102 root root0 Feb 11 22:45 proc
drwx------4 root root 4096 Feb 16 15:25 root
drwxr-xr-x2 root root 4096 Feb 14 21:28 sbin
drwxrwxrwt2 root root 4096 Feb 16 15:40 tmp
drwxr-xr-x 16 root root 4096 Feb 10 01:28 usr
drwxr-xr-x 20 root root 4096 Feb 14 21:41 var
由属性的角度来看,上面的档名每个都是『目录名称』,较为特殊的是 root ,由于 root 这个目录是管理员 root 的家目录,这个家目录可重要了!所以一定要设定成较为严密的 700 ( rwx------ )这个属性才行吶!如果以较为完整的树状目录来视察的话,可以将整个 Linux 的树状目录会制程下图:
请注意,每个目录都是依附在 / 这个根目录底下的,所以我们在安装的时候一定要有一个 / 对应的 partition 才能安装的原因即在于此!这也就是我们俗称的『树状目录』啰!
每个目录的大致内容如下表所示:
·需要注意的目录
在 Linux 系统中,有几个目录是特别需要注意的,以下提供几个需要注意的目录,以及预设相关的用途:
o /etc:这个目录相当重要,如前所述,你的开机与系统资料档案均在这个目录之下,因此当这个目录被破坏,那你的系统大概也就差不多该死掉了!而在往后的文件中,你会发现我们常常使用这个目录下的 /etc/rc.d/init.d 这个子目录,因为这个 init.d 子目录是开启一些 Linux 系统服务的 scripts (可以想成是批次档 )的地方。而在 /etc/rc.d/rc.local 这个档案是开机的执行档,有点像是旧 Windows 系统下的 autoexec.bat 及 config.sys 档。所以,如果你有需要在开机载入的服务或执行档案,可以写在这个档案的最后一行,则开机时就会自动帮你载入执行档了!
o /bin, /sbin, /usr/bin, /usr/sbin:这是系统预设的执行档的放置目录,例如 root 常常使用的 userconf, netconf, perl, gcc, c++ 等等的资料都放在这几个目录中,所以如果你在提示字元下找不到某个执行档时,可以在这四个目录中查一查!其中, /bin, /usr/bin 是给系统使用者使用的指令,而 /sbin, /usr/sbin 则是给系统管理原使用的指令!
o /usr/local:这是系统预设的让你安装你后来升级的套件的目录。例如,当你发现有更新的 Web 套件(如 Apache )可以安装,而你又不想以 rpm 的方式升级你的套件,则你可以将 apache 这个套件安装在 /usr/local 底下。安装在这里有个好处,因为目前大家的系统都是差不多的,所以如果你的系统要让别人接管的话,也比较容易上手呀!也比较容易找的到资料喔!因此,如果你有需要的话,通常我都会将 /usr/local/bin 这个路径加到我的 path 中。
o /home:这个是系统将有帐号的人口的家目录设置的地方。
o /var:这个路径就重要了!不论是登入、各类服务的问题发生时的记录、以及常态性的服务记录等等的记录目录,所以当你的系统有问题时,就需要来这个目录记录的档案资料中察看问题的所在啰!而 mail 的预设放置也是在这里,所以他是很重要的喔!
o /usr/share/man, /usr/local/man:这两个目录为放置各类套件说明档的地方,例如你如果执行 man man,则系统会自动去找这两个目录下的所有说明档,如果有相同的资料就会叫出来给你幽!
·一般主机可能会分配的磁碟情况
好了,知道了 Linux 的档案权限,目前也知道了各个档案内可能摆放的资料是什么了,那么再来说说你的目录与磁碟分割之间的相关性。通常一般的大型主机都不会将所有的资料放置在一个磁碟中(就是只有一个『 / 』根目录),这有几个目的:
1.安全性考量:你的系统通常是在 /usr/ 中,而个人资料则可能放置在 /home 当中,至于一些开机资料则放置在 /etc 当中。如果将所有的资料放在一起,当你的系统不小心被骇客破坏,或者不小心自己砍了一个小东西,则所有的咚咚也都跟着不见了.....这对于我们市井小民或许无所谓,再安装一次就好了,但是对于一些大型企业可不行这样!因此需要将资料分别放置于不同的磁碟中,会比较保险些。
2. 便利性:如果你需要升级你的系统的话,是否需要重新 format 安装呢?有些资料例如 /home 里面的资料为个人用户的资料,似乎与系统无关!所以如果你将这些资料分别放置于不同的磁碟,则你要升级或者进行一些系统更动时,将比较有弹性。
你或许可以将你的系统做成这样的 partition 分布:
/
/boot
/usr
/home
/var
这是比较常见的磁碟分布情况,其中,
o / 根目录可以分配约 256 MB 以内;
o /boot 大概在 50 MB 就可以了,因为开机档案并不大;
o /var 就至少需要 1GB 以上,因为你的 mail 、 proxy 预设的储存区都在这个目录中,除非你要将一些设定改变!
o /home 与 /usr 通常是最大的,因为你所安装的资料都是在 /usr/ 当中,而用户资料则放置在 /home 当中,因此通常书上都会建议你将所剩下的磁碟空间平均分配给这两个目录说!
无论如何,每部主机的环境与功能用途都不相同,自然其磁碟的分配就会不太一样,因此,上面的设定您就看看就好,等您将整个网页内容全 K 完了,那么大概就知道怎样设定您的主机最恰当啦!接着下来,我们来谈一谈简单的档案与目录的管理了!
本章习题练习 ( 要看答案请将滑鼠移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
·早期的 Unix 系统档名最多允许 14 个字元,而新的 Unix 与 Linux 系统中,档名最多可以容许几个字元?
答:
255个字元
·当一个档案属性为 –rwxrwxrwx 则表示这个档案的意义为?
答:
任何人皆可读取、可写入亦可删除。
·我需要将一个档案的属性改为 –rwxr-xr-- 请问该如何下达指令?
答:
chmod 754 filename 或 chmod u=rwx,g=rx,o=r filename
·若我需要更改一个档案的拥有者与群组,该用什么指令?
答:
chown, chgrp
·Linux 传统的档案系统为何?此外,常用的 Journaling 档案格式有哪些?
答:
ext2,
Journaling 有 ext3 及 Reiserfs 等
·请问底下的目录与主要放置什么资料
/etc/:
/etc/rc.d/init.d:
/boot:
/usr/bin, /bin:
/usr/sbin, /sbin:
/dev:
/var/log:
答:
/etc/:几乎系统的所有设定档案均在此,尤其 passwd, shadow
/etc/rc.d/init.d:系统开机的时候载入服务的 scripts 的摆放地点
/boot:开机设定档,也是预设摆放核心 vmlinuz 的地方
/usr/bin, /bin:一般执行档摆放的地方
/usr/sbin, /sbin:系统管理员常用指令集
/dev:摆放所有系统装置档案的目录
/var/log:摆放系统登录档案的地方
·若一个档案的档名开头为『 . 』,例如 .bashrc 这个档案,代表什么?另外,如何显示出这个档名与他的相关属性?
答:
有『 . 』为开头的为隐藏档,需要使用 ls –a 这个 –a 的参数才能显示出隐藏档案的内容,而使用 ls –al 才能显示出属性。