首页 > 代码库 > Linux系统中目录详解

Linux系统中目录详解

1、Linux文件系统的层次结构

       在Linux或Unix操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。

       文件系统的最顶层是由根目录开始的,系统使用”/“来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。

       在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点”.“来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点”..“来表示。

       如果一个目录或文件名以一个点开始,表示这个目录或文件是一个隐藏目录或文件。即以默认方式查找时,不显示该目录或文件。

2、Linux系统中一些重要的目录的介绍

       Linux系统采用了文件系统层次标准(FHS)的文件结构。实际上,FHS只定义了根目录(/)之下各个主要目录应该存放的文件(或子目录)。该标准以供定义了两层规范,第一层为根目录(/)下的各个目录应该存放那些类型的文件(或子目录),如在bin/sbin目录中存放的应该是可执行文件;而第二层是针对/usr和/var这两个目录的子目录定义的,如在usr/share目录中存放的应该是共享数据。

      在Linux系统中一共有3个bin目录。在bin目录下存放的是常用的可执行文件,即命令或程序,如date或su命令,用户可以使用ls -l /bin命令来验证这一点。在根目录和/usr目录下都有bin目录,它们是/bin和/usr/bin。这两个目录下存放的内容大体相同。在/usr/local目录下也有一个bin目录,即/usr/local/bin,在默认情况下,这个目录中没有任何内容,即该目录为空。

       sbin目录用来存放系统的可执行文件,如fdisk。在根目录和/usr目录下都有sbin目录,它们是/sbin和/usr/sbin。在/usr/sbin/local下也有一个sbin目录,即/usr/sbin/local/sbin,在默认情况下这个目录中没有任何内容,即该目录为空。




       Linux文件系统中一个非常重要的目录,即用户使用最多的目录——home目录。home目录用来存放用户自己的文件或目录,每当用户登录linux系统时就自动进入home目录。其中,超级用户root的home目录是/root,而普通用户的home目录被存放在/home目录下,并使用用户名作为最后一级目录的名称。

       Linux文件系统中另一个非常重要的目录,即挂载点(mount point)。当Linux操作系统监测到可移除式硬件被加入到文件系统中时,就会自动产生一个挂载点(目录),通常这些可移除式硬件会被挂载在/media或.mnt目录之下。

以下是对图中一些常用目录的介绍:




/etc:系统的一些主要配置文件几乎全部放在该目录下,如口令文件passwd。在这个目录的文件基本都是ASCII码的正文文件,普通用户一般可以查看这些文件,但是只有root用户可以修改这些文件。

/tmp:普通用户或程序可以将临时文件存入这一目录,以方便与其他用户或程序交换信息。该目录是任何用户都可以访问的,因此重要的信息不应该存放在此目录中。

/boot:存放Linux操作系统的内核和系统启动时所使用的文件。其中,以vmlinuz开头的就是Linux的内核,如果引导程序(loader)选择了grub,在该目录中还会有一个grub的子目录(/boot/grub)

/dev:存放的的是这台计算机中所有的设备。在Unix或Linux系统中所有的东西都被看成文件,其中也包括硬件。

/usr:存放系统的应用程序和与命令相关的系统数据,其中包括系统的一些函数库及图形界面所需的文件等等。

Lost+Found:当系统异常关机、崩溃或出现错误时,系统会将一些遗失的片段存放在该目录中,这个目录会在需要时由系统自动产生。

/var:存放的是系统运行过程中经常变化的文件,如log文件和mail文件。

/srv:存放的是所有与服务器相关的服务,即一些服务启动之后,这些服务器需要访问的目录。

/proc:是一个虚拟的文件系统,它是常驻内存中的,不占用任何磁盘空间。这样可以明显改进系统的效率。在该目录下存放了系统运行所需要的信息,这些信息反映了内核的环境。在该目录中存放了内存中所有的信息。

/lib,/usr/lib,/usr/local/lib:存放的是libraries,即系统使用的函数库。许多程序在运行的过程中都会从这些函数库中调用一些共享的库函数,如lib/modules目录下包括了内核的相关模块。