Linux继承了unix操作系统结构清晰的特点。在linux下的文件结构非常有条理。但是,上述的优点只有在对linux相当熟悉时,才能体会到

linux标准目录结构:

/

root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。

home --- 存储普通用户的个人文件

ftp --- 用户所有服务

httpd

samba

user1

user2

bin --- 系统启动时需要的执行文件(二进制)

sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行

proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息

1 --- 进程编号

usr --- 用户目录,存放用户级的文件

bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin

sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序

include --- 存放C/C++头文件的目录

lib --- 固定的程序数据

local --- 本地安装软件保存位置

man --- 手工生成的目录

info --- 信息文档

doc --- 不同包文档信息

tmp

X11R6 --- 该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。

X386 --- 功能同X11R6,X11 发行版5 的系统文件

boot --- 引导加载器所需文件,系统所需图片保存于此

lib --- 根文件系统目录下程序和核心模块的公共库

modules --- 可加载模块,系统崩溃后重启所需模块

dev --- 设备文件目录

etc --- 配置文件

skel --- home目录建立,该目录初始化

sysconfig --- 网络,时间,键盘等配置目录

var

file

lib --- 该目录下的文件在系统运行时,会改变

local --- 安装在/usr/local的程序数据,变化的

lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问

log --- 记录日志

run --- 系统运行合法信息

spool --- 打印机、邮件、代理服务器等假脱机目录

tmp

catman --- 缓存目录

mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。

tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp

lost+found --- 在文件系统修复时恢复的文件

/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11存放与x windows有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

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

/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。

与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

/vmlinuz

我们已经知道,每一个linux都有一个内核(vmlinuz),我们在这个内核上添加上可以完成各种特定功能的模块,每个模块就体现在 linux中各种不同的目录上。当然,各种不同的发行套件,其目录有细小的差别,但主要结构都是一样的。我们还要将linux的功能模块和各种应用程序结合起来,这样,才能使你的 linux系统为你服务。在/vmlinuz目录下存放的就是系统的内核。还记得我们在配置lilo时,提到过这个内核吗?

/bin

显而易见,bin 就是二进制(binary)英文缩写。在一般的系统当中,你都可以在这个目录下找到linux常用的命令。在有的版本中你还会找到一些和根目录下相同的目录。

/boot

在这个目录下存放的都是系统启动时要用到的程序。我们在使用lilo引导linux的时候,会用到这里的一些信息。

/dev

dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。 例如:我们在系统中键入:cd /dev/cdrom 我们就可以看到光驱中的文件了。同样道理,我们键入:cd /dev/mouse 就可以看看鼠标的相关文件。在这个目录下,有一个null设备,这个东西本身没有任何意义。如果你向这个目录写入文件或内容,他们统统有去无回。命令重定向中有 :ls -al 1> list.right 2> /dev/null

/cdrom

这个目录在你刚刚安装系统的时候是空的。你可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

/etc

etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

/sbin

这个目录是用来存放系统管理员的系统管理程序。

/home

如果我们建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

/lib

lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,你的系统就不能工作了。

/lost+found

这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下,就象为无家可归的人提供一个临时住所。

/mnt

这个目录在一般情况下也是空的。你可以临时将别的文件系统挂在这个目录下。

/proc

可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

/root

如果你是以超级用户的身份登录的,这个就是超级用户的主目录。

/tmp

用来存放不同程序执行时产生的临时文件。

/usr

这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。

补充资料:

/ 根目录

bin 系统中最主要的可执行文件的存放,Linux中常用的命令,一般用户和超级用户常用的命令,如ls,su,mout

boot 存放系统启动时的内核文件和其他的一些信息文件

dev 这个目录中的所有文件都是特殊文件(设备文件),Linux把所有的外设都看成是一个文件。就是说,用户对代表该 外设的文件的操作,就表示对该外设的操作。所以,/dev对于系统而言相当重要。比如,要对软盘进行EXT2文件系 统的格式化,就要这样做:mke2fs /dev/fd0

etc 这是系统内部存放配置文件的主要位置,一般与系统关系十分密切的配置文件都放在该目录下。也就是说,对系统 的配置主要是对该目录中的文件进行修改。在该目录中,大多是文本文件,如inittab,lilo.conf

home 这是系统缺省普通用户的主目录的要目录,也就是普通用户的主目录设置为:/home/[userid]目录

initrd 使用RAM Disk方式启动时用于挂载RAM设备文件

lib 存放系统的链接库文件。若没有该目录,则系统就无法正常运行。

lost+found 文件系统恢复时使用

misc 备用目录

mnt 这是系统提供安装额外文件系统时候的安装目录,如挂载软驱,光驱等。其主要的目的是为了不打乱原来的目录系 统结构

opt 用于安装一些给所有用户使用的文件或程序

proc 这个目录中的文件其实不是存放在磁盘上的,该目录的文件系统叫做proc文件系统,是系统内核的映象。也就是说 ,该目录里的文件存放在系统内存中。可以通过查看这些文件来了解系统的运行情况,同时也可能通过修改这些文 件改变某些内核运行参数。

root 超级用户root的缺省主目录,对一般用户来说是没有该目录的写权限的。一般用户自已的文件都拷贝到自已的主目 录下,以免打乱原来的系统层次结构

sbin 与/bin一样,主要是存放可执行文件,只不过这里的可执行文件主要是给超用户管理系统时使用的,普通用户几乎 没有权限执行其中的程序。其中的文件有mke2fs,ifconfig等

tftpboot TFTP(普通文件传输协议)服务器缺省文件主目录

tmp 与DOS或WINDOWS的TEMP目录相同,该目录中存放临时文件

usr 这个目录是Linux系统中占用磁盘最大的目录,有许多应用程序,其子目录也比较复杂

var 存放一些系统记录文件,HTTP和FTP服务器的数据也存放在这个目录的子目录中。