首页 > 代码库 > 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各个目录的作用及内容