首页 > 代码库 > Linux各个目录的作用及内容

Linux各个目录的作用及内容

Linux系统目录包含Home、Usr、Var、Bin、Lib、Boot、Etc和Dev这8个目录,他们各司其职存储着Linxu系统中不同功能数据。我这里简单换一个图方便大家查看时更加直观。

linux系统目录结构
Home目录:作用是为每个账户提供账户信息,如果我们的Linux中有多个账户,那么在Home目录中可以看到和账户名对应的目录(如果两个账户有不同的桌面,那么这些桌面的配置文件就放在相关的目录中)。Hoem目录可以理解为Windows中的“我的文档”目录。

Usr目录:包含所有的命令、库、手册页等文件(这些文件是日常操作所需要的)。Usr目录可以理解为Windows系统中的“Windows”目录。

Var目录:包含有变动的文件,比如脱机目录(用于有效邮件、新闻、打印机等)、日志文件、格式化的手册页和临时文件,Usr目录可以理解为Windows中的“Temp”目录。

Bin目录:启动期间,它为普通用户提供使用的命令,Bin目录可以理解为Windows中的“System32”和“Program Files”目录。

Etc和Dev目录:都是与设备有关的目录,里面保存了设备的驱动程序等信息。这两个目录可以理解为Windows中的“drivers”目录。

Lib目录:系统的共享目录,里面保存的文件能供系统中的多个程序调用。该目录可以理解为Windows中相关程序的dll文件集合。

Boot目录:包含启动时转载程序所用文件,比如LILO。内核镜像通常保存在这里,如果有多个内核镜像,这个目录可能会增长得很快,最好把它单独保存在一个文件系统内。该目录可以理解为Windows中根目录下的相关启动文件的集合。

上面所说的这些Linux目录是任何一个Linux系统中都有的,并且功能也是相同的。希望此文能够对开始接触Linux系统的朋友有所帮助。

 

 

 

 

 

 

 

 

1)根目录“/”
    根目录位于目录结构的最顶层,用斜线(/)表示,类似于Windows操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。

2)/bin
    /bin 目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill、login、rm、ping、chomd、bash、cat、echo、ls、 mail、vi等。

3)/boot
    /boot 目录存放系统核心文件以及启动时必须读取的文件,包括Linux内核的二进制映像。

4)/dev
    /dev 目录保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别。如该目录下的子目录/dev/cdrom表示光驱目录;子目录/dev/console表示控制台;子目录 /dev/fd表示软驱;子目录/dev/hd表示硬盘上的一个分区;lp0表示打印机;ttyS0表示系统的串口设备;dsp表示系统的音箱设备。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下, 例如“mount /dev/cdrom /cdrom”。

5)/etc
    /etc 目录是整个Linux系统的中心,其中包含所有系统管理和维护方面的配置文件,如dhcpd.conf、host.conf、logrotate.conf、man.config、mke2fs.conf、modprobe.conf、resolv.conf、sysctl.conf、syslog.conf(或rsyslog.conf)、xinetd.conf和yum.conf等,其他的配置文件分别位于单独的子目录中。通常应注意备份这个目录中的重要配置文件,以便需要是能够快速的恢复系统。用于存放系统的配置文件和特定主机的相关文件。例如,记录用户帐号名称的 password 文件、投影密码的 shadow 文件等。该目录不包含任何二进制文件,并且该目录下的所有文件主要由管理员使用,普通用户只对其具有阅读权限。该目录还包含一些网络配置文件、文件系统、 x系统配置文件、设备配置信息、设置用户信息等。
    /etc/cron.d    用于存储cron进程调度运行后台进程所用的配置和控制文件。其他目录包括/etc/crontab文件定义的cron.hourly、cron.daily、cron.weekly和cron.monthly等四个目录。
    /etc/cups    用于存储通用UNIX打印系统(Commom UNIX Printing System,CUPS)使用的各种配置文件。
    /etc/default    其中的文件用于提供部分工具软件(如useradd程序)使用的变量及其默认值。
    /etc/httpd    Apache配置文件的根目录。Apache是一个通用的、高性能的HTTP服务器,也是世界上最流行的Web服务器。Apache采用模块化的设计方式,支持运行时的动态模块选择、虚拟主机,以及服务进程数量的动态调整等。
    /etc/init.d    用于存储进入相应运行级时需要由init调度执行的脚本文件。在Fedora Linux系统中,这只是一个符号链接文件,实际的目录应为/etc/rc.d/init.d。
    /etc/ipsec.d    用于存储IPSee使用的配置文件等。
    /etc/kde    其中含有部分KDE初始化文件和KDM配置文件。
    /etc/pki    用于存储各种密匙,如用于安装软件包的密匙等。
    /etc/ppp    用于存储PPP的脚本和配置文件。
    /etc/profile.d    用于存储/etc/profile等使用的辅助初始化文件,如lang.sh脚本文件等。
    /etc/rc.d    用于存储进入相应运行级是由init进程调度执行的脚本文件。其中含有init.d和rcN.d等子目录(其中的N为0、1、2、3、4、5和6,表示系统的运行级)。
    /etc/samba    Samba配置文件的根目录。Samba是一个网络共享软件的总称,Linux系统中实现的SMB协议,允许Linux系统为Windows系统提供文件和打印共享服务。
    /etc/security    用户存储的基本安全控制文件,包括注册控制文件、控制访问控制文件,以及资源限制控制文件等。
    /etc/selinux    SElinux(Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的GPL项目,它拥有一个灵活而强制性的访问控制结构,旨在提高Linux系统的安全性,提供强健的安全保证,可防御未知攻击,据称相当于B1级的军事安全性能。比MS NT所谓的C2等高得多。应用SELinux后,可以减轻恶意攻击或恶意软件带来的灾难,并提供对机密性和完整性有很高要求的信息很高的安全保障。)配置文件的根目录。
    /etc/skel    其中存有默认的初始化文件,如.bash_logout、.bash_profile、.bashrc、.emacs、.kde和.zshrc等。每当新增一个新用户时,系统将会把其中的部分初始化文件复制到用户的主目录中。注意:上述文件均为隐藏文件。(即以“.“开头的文件名)
    /etc/ssh    这个目录含有系统配置过程,以及系统引导过程中需要用到的各种配置文件,也是chkconfig维护的各种后台服务进程配置文件的根目录。例如,其中的clock文件包含系统的时区设置,keyboard文件包含键盘的类型定义,init文件包含系统引导过程使用的参数定义等。
    /etc/tomcat5    tomcat的根目录
    /etc/vsftpd    包含FTP服务器的配置文件,其中包括vsftpd.conf、ftpusers和user_list等重要文件。
    /etc/xinetd.d    其中包含xinetd服务进程控制的所有传统网络服务使用的配置文件,尤其包含telnet等网络应用的配置文件。在Linux系统中,原有的inetd已由功能更强的xinetd服务进程取代,原有的inetd.conf配置文件也由xinetd.d目录中的一系列单独的配置文件取代。
    /etc/yum    其中包含yum软件更新工具使用的配置文件。
    /etc/yum.repos.d其中包含每个软件仓库的配置文件。

6)/lib
        /lib 目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。这使软件开发者能够利用那些预先写好并通过测试的函数。库文件包含了标准的C库/lib/libc.so.*,数学库libm.so.*,共享的动态链接库/lib/ld/so以及目录/bin和/sbin下用到的其他共享库。/lib/modules目录存放系统的核心模块,某些可被模块化的部分并不需要在编译系统核心时放入核心本体,避免本体过于庞大而导致效率降低。

7)/lost+found
    该目录存放所有和其它目录都没有关联的文件。系统出现错误或发生问题时,Fedora会自动扫描磁盘驱动器,修正错误,如果找到遗失或错误的片段,将这些片段转化成文件存放于此,等待管理员的进一步处理。

8)/mnt
    该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount 命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。

9)/proc 
    进程文件系统proc的根目录,其中的部分文件分别对应正在运行的进程,可用于访问当前进程的地址空间。它是一个非常特殊的虚拟文件系统,其中并不包含“实际的”文件,而是可用以引用当前运行系统的系统信息,如CPU、内存、运行时间、软件配置以及硬件配置的信息,这些信息是在内存中由系统自己产生的。
    /proc/net     其中的文件分别表示各种网络协议(如TCP、UDP以及ARP等)的状态与统计信息。
    /proc/sys    这个目录不仅存有各种系统信息,而且也包含系统内核与TCP/IP网络的可调参数。其中的kernel子目录含有共享内存和消息队列的可调参数,net子目录中含有TCP/IP的各种可调参数。例如,shmmax文件中含有系统的最大共享内存定义,如果使用“echo somevalue > /proc/sys/kernel/shmmax”命令,可以直接修改运行系统的内核参数,而无需重新引导系统。这一做法要谨慎,有的文件可能包含多个数值,或不同类型的数值,因此,在修改以前一定要弄清参数的意义和实际的数值。为了在每次启动系统时都能使用定制的系统可调参数,可以设置sysctl.conf配置文件,或编写自己的Shell启动脚本。

10)/opt
    /opt 目录用来安装附加软件包,用户调用软件包程序放在目录/opt/package_name/bin下,package_name是安装软件包的名称。

11)/root 
    超级用户root的主目录(在Linux系统中,斜杠字符“/”是整个系统的根目录,而非超级用户的主目录。)

12)/sbin 
    目录/sbin、/usr/sbin和/usr/local/sbin存放了该目录启动系统时需执行的程序,如管理工具、应用软件和通用的根用户权限命令等内容。如包含getty、init、update、mkswap、swapon和swapoff等命令。文件管理工具有fdisk、fsck及mkfs等,还包含不少网络命令,如ifconfig和route。

13)/tmp
    临时文件目录,默认为所有用户都可以读取、写入和执行文件。并且某些程序执行时产生的临时文件,也会暂时存放在该目录中。该目录下的所有文件会被定时删除,以避免临时文件沾满整个磁盘,一般不要自己删除这个目录中的文件。

14)/usr
    /usr目录是Linux系统中最大共享数据(如用户命令、库函数、头文件和文档等)的目录位置。它既可作为一个单独的文件系统,也可以作为根目录下的一个子目录,存储用户可用的程序和数据文件。因此。它下面的子目录的功能和作用如下:
    /usr/bin    放置用户可以执行的命令程序,如find、free及gcc等。
    /usr/lib    许多程序和子系统所需要的函数库都放在该目录下。
    /usr/local    此目录供用户放置自行安装的应用程序。
    /usr/src    存放源代码的目录,Linux操作系统的源代码就放在这个目录下。
    /usr/dict    存放字典。
    /usr/doc    存放追加文档。
    /usr/games    存放游戏和教学文件。
    /usr/include    存放C开发工具的头文件。
    /usr/info    存放GNU信息文件。
    /man        存放在线帮助文件。
    /usr/share    存放结构独立的数据。
    /usr/X11R6    存放X Window系统

15)/var
    /var目录用于存放易变的数据,这些数据在系统运行过程中不断变化。如打印机、邮件、新闻和日志。其中最重要的文件是日志文件,不管是系统日志,邮件日志,还是其他服务器日志都被放置在该目录下。
    /var/account    用于存储系统记账信息。
    /var/cache    yum和samba等程序使用的工作目录。用于缓存程序使用的各种数据文件,尤其是缓存yum下载的软件包和信息文件。
    /var/ftp      FTP匿名用户的主目录。
    /var/lib    用于存储软件包特定的动态链接共享库、配置文件、数据文件和状态信息等。
    /var/lock    用于存储各种服务进程或应用访问特定的设备或文件时设置的封锁文件。
    /var/log    系统和服务进程日志所在的目录位置,其中包括lastlog(每个用户最后一次注册的相关记录)、message(由syslogd记录的所有内核和系统程序的日志消息)和wtmp(所有用户的系统系统注册/注销记录)等重要文件。位于/var/log目录中的文件会不断地增长,因此要求定期地备份或清除。在Fedora Linux系统中,每日将会定时地执行一次/usr/sbin/logrotate检查并处理系统日志文件,删除过时数据,使文件的规模适中。
    /var/mail    这个目录存有每个用户电子邮件的邮箱文件,其中的每个文件均用户的用户名命名。在Fedora Linux系统中,这只是一个符号链接文件,实际的目录位于/var/spool/mail。
    /var/named    域名服务BIND使用的配置文件所在的目录位置。
    /var/run    系统运行信息文件的根目录,其中存有各种系统服务进程ID的文件,另外一个典型的文件是/var/run/utmp,其中含有当前系统中的用户注册信息。
    /var/spool    用于缓存各种等待处理的文件,如电子邮件和打印任务等。通常,每一类待处理的缓存文件均位于各自的子目录中,如/var/spool/mail、/var/spool/lpd和/var/spool/cron等。
    /var/tmp    用于存储各种临时文件。

16)/home 
    如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。

17)/sys    
    系统各种设备配置信息的根目录。例如,block子目录中含有磁盘及磁盘分区的配置信息,bus子目录中含有pci和usb等的配置信息和驱动程序。

18)/srv
    用于存储本地系统提供的服务进程所用的数据文件(现为空目录)。

19)/media
    移动存储介质的安装点。当利用GNOME界面安装移动存储介质时,系统将会自动地把移动介质安装到此目录下的某个子目录中。

Linux各个目录的作用及内容