您所在的位置:读书频道 > 操作系统 > Linux > 6.3.2 目录配置的内容

6.3.2 目录配置的内容

2007-09-27 09:58 鸟哥 人民邮电出版社 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜》一书全面而详细地介绍了Linux操作系统,第六章介绍的是Linux的文件属性与目录配置,本节是目录配置的内容。

AD:

6.3.2  目录配置的内容
我们知道,FHS定义出两层目录内的规范,那么,如果到根目录查看目录数据,会显示什么呢?

[root@linux ~]# ls -l /
drwxr-xr-x   2 root root  4096 Jul 14 05:22 bin
drwxr-xr-x   3 root root  4096 Jul  9 05:18 boot
drwxr-xr-x   9 root root  4880 Jul 11 00:45 dev
drwxr-xr-x   6 root root  4096 Jun 29 01:06 disk1
drwxr-xr-x   3 root root  4096 Jun 25 08:53 disk2
drwxr-xr-x  83 root root 12288 Jul 14 05:23 etc
drwxr-xr-x   6 root root  4096 May 30 20:07 home
drwxr-xr-x  10 root root  4096 Jul 14 05:23 lib
drwx------   2 root root 16384 Jun 25 16:21 lost+found
drwxr-xr-x   3 root root  4096 Jun 25 19:34 media
drwxr-xr-x   2 root root  4096 Apr 25 23:54 misc
drwxr-xr-x   2 root root  4096 May 23 12:28 mnt
drwxr-xr-x   2 root root  4096 May 23 12:28 opt
dr-xr-xr-x  59 root root     0 Jul 10 01:25 proc
drwx------   9 root root  4096 Jul 13 11:31 root
drwxr-xr-x   2 root root  4096 Jul 14 05:22 sbin
drwxr-xr-x   2 root root  4096 Jun 25 08:23 selinux
drwxr-xr-x   2 root root  4096 May 23 12:28 srv
drwxr-xr-x  10 root root     0 Jul 10 01:25 sys
drwxr-xr-x  10 root root  4096 Jun 25 20:24 system
drwxrwxrwt  10 root root  4096 Jul 14 05:23 tmp
drwxr-xr-x  14 root root  4096 Jun 25 08:27 usr
drwxr-xr-x  24 root root  4096 Jun 25 20:16 var
从属性的角度来看,上面的文件名每个都是“目录名”,较为特殊的是root,由于root目录是管理员root的家目录,这个家目录很重要。所以一定要设置成较为严密的700 ( rwx------ ) 属性。如果以较为完整的树状目录来看,整个Linux的树状目录如图6-4所示。
图6-4  根据FHS定义的各层目录相关性
请注意,每个目录都是依附在 / 根目录下面,所以,在安装的时候,一定要有一个 / 对应的分区才能安装的原因即在于此。这也就是我们俗称的“树状目录”。根据FHS定义出来的每个目录内应该放置的文件内容如表6-1所示。
表6-1  目录内容

目录

应放置的文件内容

/

根目录root/),一般建议在根目录下面只有目录,不要直接有文件。根目录是启动时系统第一个载入的分区,所以,所有启动过程会用到的文件应该都放在这个分区中。举例来说,/etc/bin/dev/lib/sbin5个子目录都应该要与根目录连在一起,不可独立成为某个分区

/bin,
/usr/bin,
/usr/local/bin

除了 /bin之外,/usr/local/bin/usr/bin也是放置“用户可执行的二进制文件的目录”。举例来说,lsmvrmmkdirrmdirgziptarcatcpmount等重要命令都放在这个目录中

/boot

这个目录的主要目的是放置Linux系统启动会用到的文件。启动会用到Linux的核心文件。这个目录下面的文件vmlinuz就是Linux的核心。非常重要。如果引导程序(loader)选择grub,那么这个目录内还有 /boot/grub子目录

/dev

Linux系统上,任何设备都以文件类型存在于这个目录中。存取这个目录下面的某个文件,就等于存取某个设备。设备又分为字符设备(character device),例如键盘、鼠标等;以及块设备(block device),例如硬盘、光盘等等。在此目录下的文件会多出两个属性,分别是主设备号(major device number)与辅设备号(minor device number)。系统核心就是通过这两个号码来判断设备的。重要的文件有 /dev/null/dev/tty[1-6]/dev/ttyS*/dev/lp*/dev/hd*/dev/sd* 等等

/etc

系统主要的设置文件几乎都放在这个目录内,例如人员的账号密码文件、各种服务的起始文件等等。一般来说,这个目录下的各文件属性是可以让一般用户查看的,但只有root有权修改。并且,在此目录下的文件几乎都是ASCII的纯文本文件。不过,FHS建议不要在这个目录中放置可执行文件。比较重要的文件有:/etc/inittab/etc/init.d//etc
/modprobe.conf
/etc/X11/etc/fstab
/etc/sysconfig/ 等等。另外,其下重要的目录有:

·          /etc/init.d/:所有服务的默认启动脚本都放在这里,例如要启动或者关闭iptables的话:

/etc/init.d/iptables start

/etc/init.d/iptables stop

 

·          /etc/xinetd.d/:这就是所谓的超级守护程序(super daemon)管理的各项服务的设置文件目录。

·          /etc/X11:与X Window有关的各种设置文件都在这里,尤其是xorg.confXF86Config这两个X Server的设置文件

/home

这是系统默认的用户家目录(home directory)。在新增一般用户账号时,默认的用户家目录都会放到这里。比较重要的是,家目录有两种代号:

~:表示当前这个用户的家目录,而

~dmtsai:则表示dmtsai的家目录

/lib,
/usr/lib,
/usr/local/lib

系统会使用到的函数库的目录。程序在运行过程中,可能会调用一些额外的功能参数,这需要函数库的协助。这些函数库就放在此处。比较重要的是 /lib/modules目录内会放核心的相关模块

/lost+found

系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。例如在 /disk中加装硬盘,在这个目录下就会自动产生一个这样的目录: /disk/lost+found

/mnt

/media

这是软盘与光盘的默认载入点;通常软盘挂在 /mnt/floppy下,而光盘挂在 /mnt/cdrom下,不过也不一定。随便找一个地方来载入也可以。另外,当前也规划出另一个 /media的目录。与 /mnt有点类似

/opt

这是给主机额外安装软件所放的目录。举例来说,FC4使用Fedora团体开发的软件,如果今天想要自行安装新的KDE桌面软件,可以将该软件安装在这个目录下。不过,以前的Linux系统中,我们还是习惯放在 /usr/local目录下

/proc

这个目录本身是一个“虚拟文件系统”。它放置的数据都在内存中,例如系统核心、形成信息、外部设备的状态及网络状态等等。因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。比较重要的文件有/proc/cpuinfo/proc/dma/proc/ interrupts/proc/ioports/proc/net/* 等等

/root

系统管理员(root)的家目录。之所以放在这里,是因为我们提过,系统第一个启动就载入的分区为 /,而我们希望 /root能够与 / 放在同一块分区上

/sbin,
/usr/sbin,
/usr/local/sbin

放一些系统管理员才会用到的执行命令,例如:fdiskmke2fsfsckmkswapmount等等。与 /bin不太一样的地方是,这几个目录是给root等系统管理用的。但本目录下的执行文件还是可以让一般用户用来“查看”而不能设置

/srv

一些服务启动之后,这些服务所需要取用的数据目录。举例来说,WWW服务器需要的网页数据就可以放在 /srv/www

/tmp

这是让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能存取的,所以需要定期清理。当然,重要数据不可放在此目录

/usr

根据FHS规范的第二层内容,在 /usr目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件等等。事实上,它有点像Windows操作系统中的“Program files”与“WinNT”这两个目录的结合。在此目录下的重要子目录有:

·          /usr/bin, /usr/sbin:一般身份用户与系统管理员可执行的文件放置目录。

·          /usr/includec/c++ 等程序语言的文件头(header)与包含文件(include)放置处,当以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里头的许多包含文件。

·          /usr/lib:各应用软件的函数库文件放置目录。

·          /usr/local:本机自行安装的软件默认放置的目录。当前也适用于 /opt目录。在安装完Linux之后,基本上所有的配置都有了,但软件总是可以升级的,例如要升级代理服务,则通常软件默认的安装地方就是在 /usr/locallocal是“当地”的意思),同时,安装完毕之后所得到的执行文件,为了与系统原执行文件有分别,升级后的执行文件通常放在 /usr/local/bin。建议将后来才安装的软件放在这里,便于管理

 

·          /usr/share:共享文件放置的目录,例如下面两个目录:

n             /usr/share/doc:放置一些系统帮助文件的地方,例如安装了grub,那么在该目录下面找一找,就可以查到lilo的帮助文件了。很方便。

n             /usr/share/manmanpage的文件文件目录。就是使用man的时候查询的路径。例如使用man ls命令时,就会查出 /usr/share/ man/man1/ls.1.gz帮助文件的内容。

Ÿ    /usr/srcLinux系统相关的程序代码放置目录,例如 /usr/ src/linux为核心源码。

Ÿ    /usr/X11R6:系统内的X Window System所需的执行文件几乎都放在这里

/var

这个目录也很重要,也是FHS规范的第二层目录内容。它主要放置系统执行过程中经常变化的文件。举例来说,例如缓存(cache)或者是随时更改的登录文件(log file)。此外,某些软件执行过程中会写入的数据库文件,例如MySQL数据库,也都写入这个目录中。很重要。它下面的重要目录有:

·          /var/cache:程序文件在运行过程当中的一些暂存盘。

·          /var/lib:程序执行的过程中,需要使用到的数据文件放置的目录。举例来说,locate数据库与MySQLrpm等数据库系统,都写在这个目录内。

·          /var/log:登录文件放置的目录。很重要。例如 /var/log/ messages就是总管所有登录文件的文件。

·          /var/lock:某些设备具有一次性写入的特点,例如tab(磁带机),此时,为了避免被其他人干扰而破坏正在运行的操作,因此,会将该设备lock(锁)起来,以确定该设备只能被单一程序所用。

·          /var/run:某些程序或者是服务启动后,会将它们的PID放在这个目录下。

·          /var/spool:是一些队列数据存放的地方。举例来说,主机收到电子邮件后,就会放到 /var/spool/mail中,若信件暂时发不出去,就会放到 /var/spool/mqueue目录下,用户工作任务分配(cron)则是放在 /var/spool/cron

【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

分享到:

关于目录  配置  Linux  操作系统  shell  鸟哥  鸟哥的Linux私房菜的更多文章
你需要了解的Linux实用命令大全

Linux系统的魅力之一就是你可以直接从终端使用命令行来管理整个[详细]

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

SQL应用与开发标准教程
本书主要介绍了SQL的数据库应用和开发技术,内容涉及关系数据库和SQL概述,SQL环境,SQL对于数据表的操作,数据库查询知识,SQL

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院