1、概述

   这是我在51cto开博的第一篇博客,从事运维将近10年,经验丰富、接触面广。今天我利用2个小时的时间详解了linux系统目录,其中有一些是自我了解,有一些是以前的学习资料。我开博的目的其一是与网友共享知识资源,其二是自我学习过程记录。

2、目录详解

/      处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录、文件、设备都在/之下。

/bin   bin是Binary的缩写,存放着linux系统命令。 

/dev   dev是Device的缩写。存放的是linux的外部设备,在linux中访问设备的方式和访问文件的方式是相同的。(注意:设备文件不是驱动程序。过去,在添加新磁盘或设备后,往往需要手动增加设备文件。现在通常我们不需要手动增加设备文件,运行一下service kudzu start ,系统就会自动配置相应的设备。)

/home  用户的主目录。在liunx系统中,每个用户都有一个自己的目录,一般该目录名是以用户的帐号命名的。

/lib   这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。

/media  linux系统自动识别的一些设备,例如U盘、光驱、移动硬盘等,linux会把识别的设备挂载到这个目录下。

/mnt   系统提供该目录是为了让用户临时挂载别的文件系统的,可以将光驱挂载到/mnt/上,然后进入该目录就可以查看光驱里的内容。

/opt   主机额外安装软件所摆放的目录。默认是空的。

/root  这个不用介绍了吧,呵呵。超级管理员的用户主目录。

/selinux  这个目录是RedHat/CentOS所特有的目录,Selinux是一个安全机制,这个比较复杂,这个目录就是存放Selinux相关的文件的,一般我们安装操作系统的时候禁止使用它。

/sys   这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。

/usr   包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。类似于windows下的program files目录。

/boot  包括内核和其它系统启动期间使用的文件。是启动linux时使用的核心文件,有连接文件和镜像文件。

/etc   存放系统配置文件和目录,非常重要,经常会用到它,要牢记。

/lost+found  默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件)。当系统非法关机后,这里就会存放一些文件。

/misc   存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。  

/proc    操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

/sbin  大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。

/srv    该目录存放一些服务启动之后需要提取的数据。

/tmp    该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的。

/var    该目录的内容是经常变动的,/var下有/var/log目录用来存放系统日志的目录。/var/www目录用来定义Apache服务器站点存放目录。/var/lib用来存放一些库文件。

=======================================================================

其它重要系统目录

/usr/bin   这个目录是可执行程序的目录,普通用户就有权限执行。当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。相似的目录是/usr/local/bin目录。有时/usr/bin中的文件是/usr/local/bin的链接文件。

/usr/sbin  这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行,相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等。

/usr/src   内核源码默认的放置目录

/proc/cpuinfo  关于处理器的信息,如类似、厂家、型号和性能等。比如cat /proc/cpuinfo

/proc/devices  当前运行内核所配置的所有设备清单。

/proc/filesystems   当前运行内核所配置的文件系统。

/proc/dma 当前正在使用的DMA通道。

/proc/interrupts 正在使用的中断和曾经有多少个中断。

/proc/ioports 当前正在使用的I/O端口。

/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如RedHat Fedora。

/etc/xinetd.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Redhat Fedora中比较新的版本中存在。

/etc/rc.d 这是Slackware发行版中有的一个目录,是BSD方式启动脚本的存放地,比如定义网卡,服务器开启脚本等。

/etc/X11 是X-Window相关的配置文件存放地。

/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录。一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

/usr/lib 该目录和/lib目录相似,是库文件的存储目录。存放一些常用的共享库。

/usr/share 该目录用于存放系统共用的东西,比如/usr/share/fonts是字体目录,是用户都共用的。

/usr/share/doc 该目录是Linux共享文档的存放地。

/usr/share/man 该目录是共享的帮助文件的存放地。

/var/adm 比如软件包安装信息、日志、管理信息等就存放在该目录下,在Slackware操作系统中是有这个目录的。在Fedora中好象没有。

/var/log 该目录用于存放系统日志。

/var/spool 打印机、邮件、代理服务器等假脱机目录存放在该目录下。