linux目录 详解

 目录配置的内容
我们知道,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 /sbin 5 个子目录都应该要与根目录连在一起,不可独立成为某个分区
/bin,
/usr/bin,
/usr/local/bin
除了 /bin 之外, /usr/local/bin /usr/bin 也是放置“ 用户可执行的二进制文件的目录 ”。举例来说, ls mv rm mkdir rmdir gzip tar cat cp mount 等重要命令都放在这个目录中
/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.conf XF86Config 这两个 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
放一些系统管理员才会用到的执行命令,例如: fdisk mke2fs fsck mkswap mount 等等。与 /bin 不太一样的地方是,这几个目录是给 root 等系统管理用的。但本目录下的执行文件还是可以让一般用户用来“查看”而不能设置
/srv
一些服务启动之后,这些服务所需要取用的数据目录。举例来说, WWW 服务器需要的网页数据就可以放在 /srv/www
/tmp
这是让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能存取的,所以需要定期清理。当然,重要数据不可放在此目录
/usr
根据 FHS 规范的第二层内容,在 /usr 目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件等等。事实上,它有点像 Windows 操作系统中的“ Program files ”与“ WinNT ”这两个目录的结合。在此目录下的重要子目录有:
          /usr/bin , /usr/sbin :一般身份用户与系统管理员可执行的文件放置目录。
          /usr/include c/c++ 等程序语言的文件头( header )与包含文件( include )放置处,当以 tarball 方式( *.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含文件。
          /usr/lib :各应用软件的函数库文件放置目录。
          /usr/local :本机自行安装的软件默认放置的目录。当前也适用于 /opt 目录。在安装完 Linux 之后,基本上所有的配置都有了,但软件总是可以升级的,例如要升级代理服务,则通常软件默认的安装地方就是在 /usr/local local 是“当地”的意思),同时,安装完毕之后所得到的执行文件,为了与系统原执行文件有分别,升级后的执行文件通常放在 /usr/local/bin 。建议将后来才安装的软件放在这里,便于管理
 
          /usr/share :共享文件放置的目录,例如下面两个目录:
n             /usr/share/doc :放置一些系统帮助文件的地方,例如安装了 grub ,那么在该目录下面找一找,就可以查到 lilo 的帮助文件了。很方便。
n             /usr/share/man manpage 的文件文件目录。就是使用 man 的时候查询的路径。例如使用 man ls 命令时,就会查出 /usr/share/ man/man1/ls.1.gz 帮助文件的内容。
Ÿ    /usr/src Linux 系统相关的程序代码放置目录,例如 /usr/ src/linux 为核心源码。
Ÿ    /usr/X11R6 :系统内的 X Window System 所需的执行文件几乎都放在这里
/var
这个目录也很重要,也是 FHS 规范的第二层目录内容。它主要放置系统执行过程中经常变化的文件。举例来说,例如缓存( cache )或者是随时更改的登录文件( log file )。此外,某些软件执行过程中会写入的数据库文件,例如 MySQL 数据库,也都写入这个目录中。很重要。它下面的重要目录有:
          /var/cache :程序文件在运行过程当中的一些暂存盘。
          /var/lib :程序执行的过程中,需要使用到的数据文件放置的目录。举例来说, locate 数据库与 MySQL rpm 等数据库系统,都写在这个目录内。
          /var/log :登录文件放置的目录。很重要。例如 /var/log/ messages 就是总管所有登录文件的文件。
          /var/lock :某些设备具有一次性写入的特点,例如 tab (磁带机),此时,为了避免被其他人干扰而破坏正在运行的操作,因此,会将该设备 lock (锁)起来,以确定该设备只能被单一程序所用。
          /var/run :某些程序或者是服务启动后,会将它们的 PID 放在这个目录下。
          /var/spool :是一些队列数据存放的地方。举例来说,主机收到电子邮件后,就会放到 /var/spool/mail 中,若信件暂时发不出去,就会放到 /var/spool/mqueue 目录下,用户工作任务分配( cron )则是放在 /var/spool/cron

你可能感兴趣的:(linux,职场,目录,详解,休闲)