本文目录:

  1. 1、文件系统层次标准--Filesystem Hierarchy Standard (FHS)  
  2.              根目录 (/)  
  3.              /usr --Unix Software Resource(Unix操作系统软件资源)  
  4.              /var  
  5. 2、目录树(directory tree)  
  6. 3、绝对路径与相对路径 

 文件系统层次标准--Filesystem Hierarchy Standard (FHS)


FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

  1. / (root, 根目录):与开机系统有关; 
  2. /usr (unix software resource):与软件安装/执行有关; 
  3. /var (variable):与系统运作过程有关。 

 根目录 (/)

FHS标准建议:根目录(/)所在分割槽应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分割槽内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。

FHS,目录树,绝对路径与相对路径_FHS

 事实上FHS针对根目录所定义的标准就仅有上面的这些,不过我们的Linux底下还有许多目录也需要了解一下。 底下是几个在Linux当中也是非常重要的目录:

FHS,目录树,绝对路径与相对路径_绝对路径_02

注意:因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分区则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分区!那哪些目录不可与根目录分开呢?有底下这些:

  1. /etc:配置文件 
  2. /bin:重要执行档 
  3. /dev:所需要的装置文件 
  4. /lib:执行档所需的函式库与核心所需的模块 
  5. /sbin:重要的系统执行文件 

 /usr --Unix Software Resource(Unix操作系统软件资源)

系统刚安装完毕时,这个目录会占用最多的硬盘容量。FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。

FHS,目录树,绝对路径与相对路径_相对路径_03

 /var

如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如MySQL数据库的文件等等。常见的次目录有:

FHS,目录树,绝对路径与相对路径_相对路径_04

 目录树(directory tree)


如果我们将整个目录树以图标的方法来显示,并且将较为重要的文件数据列出来的话,那么目录树架构有点像这样:

FHS,目录树,绝对路径与相对路径_FHS_05

 绝对路径与相对路径


这两种文件名/路径的写法依据是这样的:

  1. 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc; 
  2. 相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法 

特别注意这两个特殊的目录:

  1. .  :代表当前的目录,也可以使用 ./ 来表示; 
  2. .. :代表上一层目录,也可以 ../ 来代表。 

例题1:
如何先进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内?
答:
由于/var/spool/mail与/var/spool/cron是同样在/var/spool/目录中,因此最简单的指令下达方法为:
  1. cd /var/spool/mail
  2. cd ../cron

如此就不需要在由根目录开始写起了。这个相对路径是非常有帮助的!尤其对于某些软件开发商来说。 一般来说,软件开发商会将数据放置到/usr/local/里面的各相对目录,妳可以参考图3.2.1的相对位置。 但如果用户想要安装到不同目录呢?就得要使用相对路径啰!^_^

例题2:

假如现在的路径为/home,而/home目录下由于子目录/ftp,则可以使用以下命令进入/ftp中:

cd  ./ftp

本文摘自:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission_3.php