Linux目录结构

此页由Linux Wiki用户 Chenxing于2012年1月27日 (星期五) 03:49的最后更改。 在 云端Allen Lee的工做基础上。

与Windows将硬盘看作“C盘”、“D盘”几个独立的分区不一样,Linux将整个文件系统看作一棵树,这棵树的树根叫作根文件系统,用/表示。各个分区经过“挂载”(Mount)以文件夹的形式访问。php

/中的文件夹不少,本文介绍常见文件夹的意义。Linux的目录结构确实比较复杂,但设置合理、层次鲜明。本文以FHS 2.3[1]为例进行介绍。html

Hint.gif
提示: 
若是喜欢图解,可参考 Linux Toy转载的Linux文件结构图和相关讨论

目录

[隐藏]

根文件系统

/bin
这一目录中存放了供全部用户使用的完成基本维护任务的命令。其中bin是binary的缩写,表示二进制文件,一般为可执行文件。一些经常使用的系统命令,如 cpls等保存在该目录中。
/boot
这里存放的是启动 Linux时使用的一些核心文件。如操做系统 内核、引导程序 Grub等。
/dev
在此目录中包含全部的系统 设备文件。今后目录能够访问各类系统设备。如CD-ROM,磁盘驱动器,调制解调器和内存等。在该目录中还包含有各类实用功能,如用于建立设备文件的 MAKEDEV
/etc
该目录中包含系统和应用软件的配置文件。
/etc/passwd
该目录中包含了系统中的用户描述信息,每行记录一个用户的信息。
/home
存储普通用户的我的文件。每一个用户的主目录均在 /home下以本身的用户名命名。
/lib
这个目录里存放着系统最基本的 共享连接库和内核模块。共享连接库在功能上相似于Windows里的.dll文件。
/lib64
64位系统有这个文件夹,64位程序的库。
/lost+found
这并非Linux目录结构的组成部分,而是ext3文件系统用于保存丢失文件的地方。不恰当的关机操做和磁盘错误均会致使文件丢失,这意味着这些被标注为“在使用”,但却并未列于磁盘上的数据结构上。正常状况下,引导进程会运行fsck程序,该程序能发现这些文件。除了“/”分区上的这个目录外,在每一个分区上均有一个lost+found目录。
/media
可移动设备的 挂载点,当前的操做系统一般会把U盘等设备自动挂载到该文件夹下。
/mnt
临时用于挂载文件系统的地方。通常状况下这个目录是空的,而在咱们将要挂载分区时在这个目录下创建目录,再将咱们将要访问的设备 挂载在这个目录上,这样咱们就可访问文件了。(注意在 GNOME中,只有挂载到 /media的文件夹才会显示在“计算机”中,挂载到 /mnt不会作为特殊设备显示,详见 自动挂载分区
/opt
多数第三方软件默认安装到此位置,如Adobe Reader、google-earth等。并非每一个系统都会建立这个目录。
/proc
它是存在于内存中的虚拟文件系统。里面保存了内核和进程的状态信息。多为文本文件,能够直接查看。如 /proc/cpuinfo保存了有关CPU的信息。
/root
这是根用户的主目录。与保留给我的用户的 /home下的目录很类似,该目录中还包含仅与根用户有关的条目。
/sbin
供超级用户使用的可执行文件,里面可能是系统管理命令,如fsck, reboot, shutdown, ifconfig等。
/tmp
该目录用以保存临时文件。该目录具备 Sticky特殊权限,全部用户均可以在这个目录中建立、编辑文件。但只有文件拥有者才能删除文件。为了加快临时文件的访问速度,有的实现把 /tmp放在内存中。
/usr
静态的用户级应用程序等,见下。
/var
动态的程序数据等,见下文。

/usr目录结构

/usr一般是一个庞大的文件夹,其下的目录结构与根目录类似,但根目录中的文件可能是系统级的文件,而/usr中是用户级的文件,通常与具体的系统无关。linux

Hint.gif
提示: 
usr最先是user的缩写, /usr的做用与如今的 /home相同。而目前其一般被认为是 User System Resources 的缩写,其中一般是用户级的软件等,与存放系统级文件的根目录造成对比。 [2]

应注意,程序的配置文件、动态的数据文件等都不会存放到/usr,因此除了安装、卸载软件外,通常无需修改/usr中的内容。说在系统正常运行时,/usr甚至能够被只读挂载。因为这一特性,/usr常被划分在单独的分区,甚至有时多台计算机能够共享一个/usr数据库

/usr/bin
多很多天常应用程序存放的位置。若是 /usr被放在单独的分区中,Linux的单用户模式不能访问 /usr/bin,因此对系统相当重要的程序不该放在此文件夹中。
/usr/include
存放C/C++头文件的目录
/usr/lib
系统的库文件
/usr/local
新装的系统中这个文件夹是空的,能够用于存放我的安装的软件。安装了本地软件的 /usr/local里的目录结构与 /usr类似
/usr/sbin
在单用户模式中不用的系统管理程序,如apache2等。
/usr/share
与架构无关的数据。多数软件安装在此。
/usr/X11R6
该目录用于保存运行X-Window所需的全部文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
/usr/src
源代码

/var目录结构

/var中包括了一些数据文件,如系统日志等。/var的存放使得/usr被只读挂载成为可能。apache

/var/cache
应用程序的缓存文件
/var/lib
应用程序的信息、数据。如数据库的数据等都存放在此文件夹。
/var/local
/usr/local中程序的信息、数据
/var/lock
锁文件
/var/log
日志文件
/var/opt
/opt中程序的信息、数据
/var/run
正在执行着的程序的信息,如 PID文件应存放于此
/var/spool
存放程序的 假脱机数据(即spool data)
/var/tmp
临时文件