linux系统目录结构介绍篇
linux系统有其特定的文件系统的目录组织结构,了解这些目录结构是学习基本知识的基本。下面我以redhatlinux为蓝本介绍一下这些目录结构。
目录名
简介
/bin
这个目录是系统中最主要的可执行文件的存放地,这些可执行文件大都是linux系统里最常用的命令了,一般用户和超级用户都会经常使用其下的命令,如:ls、su、mount等。
/etc
是系统内部存放配置文件的最主要场所,一般和系统关系十分密切的配置文件都放在该目录下,也就是说对系统的配置主要就是对该目录下的文件进行修改。在该目录下大多是文本文件。,比如:inittab、lilo.conf等。
/lost+found
主要是系统有毛病的时候存放文件的地方,正常情况下可以不去理会。
/root
超级用户root的默认主目录,对一般用户来说该目录是没有进入权限的。一般自己的文件都考到自己的主目录下面,以免打乱原来的系统层次结构。
/tmp
和dos或windows的temp目录相同,也就是该目录下面存放临时文件。
/boot
这个是redhatlinux特有的目录,存放系统启动的时候的内核文件和其他一些信息文件。有的发行版本就没有这个目录,而是把这些东西放在根目录下。
/home
这是系统默认的普通用户的主目录的根目录,也就是普通用户的主目录设置为:/home/[userid]目录。
/mnt
是系统提供安装额外文件系统时候的安装目录,这个主要的目的是为了不打乱原来的目录系统结构,否则安装在哪里都是可以的。只要那个目录没被使用。
/sbin
和/bin一样,主要是存放可执行文件的场所,只不过这里的可执行文件主要是给超级用户管理管理系统时使用的,普通用户几乎没有权限执行其中的程序。如:mke2fs、ifconfig等。
/usr
这个目录是linux系统里面占用磁盘空间最大的目录,该目录下面有许多应用程序,他的子目录也比较复杂,而且系统之间还有好多不同,我将在下一张表格里介绍它。
/dev
这个目录下面的所有文件都是特殊文件,linux系统把所有的外设都看成是一个文件,就是说你对代表该外设的文件的操作就表示对该外设的操作。所以说/dev对系统是相当重要的。比如你想对软盘进行EXT2文件系统的格式化,那么就要这样做:mke2fs /dev/fd0,这里的fd0就代表软盘驱动器。
/lib
存放系统的链接库文件,没有该目录则系统就无法正常运行。我曾试着给该目录改名,结果任何命令都无法运行,只好用软盘启动机器再安装好文件系统才解决这个问题,可见其重要性。
/proc
这个目录中的文件其实不是存放在磁盘上的,该目录的文件系统叫做proc文件系统,是系统内核的映像。也就是说该目录里面的文件是存放在系统内存里面。可以通过察看这些文件来了解系统的运行情况。这个目录不要随意动,稍有不慎就可能导致系统的锁死。
/var
主要是一些系统记录文件的存放地,同时也存放一些系统的配置文件。因系统不同而异。
/usr目录结构:
目录名
简介
/usr/x11r6
主要是xwindows的目录,下面还有子目录的结构大致和根目录相同。
/usr/games
安装时选择的游戏都在这里。
/usr/src
主要是系统内核或其他程序的源程序。
/usr/bin
和/bin一样都是一些用户级别的可执行文件。
/usr/i486-linux-libc5
试linux的一些库文件,用于编译可执行文件或者是程序执行当中的链接。
/usr/local
是本地目录结构层次,也就是后来安装的程序尽量把自身加入到该目录里面。该目录也是有结构的目录,其子结构的用途和作用也类似于根目录。
/usr/tmp
是非系统级别的临时文件的存放地。
/usr/include
这个目录是存放编译程序所包含的头文件的主要目录。
/usr/man
这是系统中的联机手册也就是帮助文档的主要存放地。
/usr/doc
存放一些系统的说明文档和一些HOWTO文件。
/usr/sbin
和/sbin差不多。
/usr/lib
编译时的链接库文件。
Linux系统设置篇
要管理好一个系统,从某种意义上来说对系统文件的设置占有及其重要的地位。鉴于linux系统的复杂性,在这里我只对/etc目录下的那些重要文件做一个简单的介绍。
DIR_COLORS:
该文件指定了系统哪些终端可以使用彩色的模式,定义了不同文件类型在列出时的不同颜色。可以自己修改这些设置。或把文件拷贝到自己主目录下面的.dir_colors,然后自己修改这个文件,以使用个人设置。
HOSTNAME:
该文件记录了本地主机的主机名和域名,使用主机名.域名的格式,比如ttqq.tsinghua.edu.cn里面的ttqq就是主机名,而tsinghua.edu.cn则是域名。
BASHRC:
该文件定义使用bash为shell时自动执行的一个配置文件,其中可以放置一些需要运行的命令和别名设置,如:
PS1="[\u@\h\w]\\$" 〔定义系统提示符方式〕
Alias which="type -path" 〔定义which命令为type -path的别名〕
Alias ls="ls -color" 〔定义ls命令为代-color参数的ls命令〕
Alias rm="rm -f" 〔定义rm命令为代-f参数的命令〕
CRONTAB:
该文件定义了系统自动执行的进程。对crontab分的比较详细,分成了按小时、日、星期、月自动执行。
CSH.CSHRC:
该文件是使用csh作为系统shell时的处始化文件,就象bashrc文件对于bash一样。
FDPRM:
该文件是系统配置软盘驱动器的参数文件,普通软盘驱动器的参数列表如下:
# size sec/t hds trk stre gap rate spec1 fmt_gap
360/360 720 9 2 40 0 0x2A 0x02 0xDF 0x50
1200/1200 2400 15 2 80 0 0x1B 0x00 0xDF 0x54
360/720 720 9 2 40 1 0x2A 0x02 0xDF 0x50
720/720 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
720/1440 1440 9 2 80 0 0x2A 0x02 0xDF 0x50
360/1200 720 9 2 40 1 0x23 0x01 0xDF 0x50
720/1200 1440 9 2 80 0 0x23 0x01 0xDF 0x50
1440/1440 2880 18 2 80 0 0x1B 0x00 0xCF 0x6C
这里大概包括了主要软驱的参数,如果以后你有特殊的软驱,那么就可以按上面的格式写出他的参数设置。
FSTAB:
该文件比较重要,是系统启动时自动安装上的文件系统备置表文件。下面给出一个实际文件,然后在介绍其中内容:
/dev/hda6 / ext2 defaults 1 1
/dev/hda7 swap swap defaults 0 0
/dev/fd0 /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
/dev/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom,ro 0 0
/dev/hda1 /mnt/c vfat defaults 0 0
/dev/hda5 /mnt/d vfat defaults 0 0
none /proc proc defaults 0 0
可以看出来,每一行由六项组成,其中每一项的意思为:
1. 描述欲安装文件系统的设备。
2. 描述安装的目录,也就是安装点。
3. 描述安装设备上的文件系统。
4. 描述安装时的安装方式。
5. 使dump程序对该文件系统处理时的标志位。
6. 在启动fsck程序对文件系统进行检查时的标志位。
现在我结合以上内容来对这个文件进行解释:
第一行