Linux下各目录的作用

Stella981
• 阅读 1143

出自: http://www.linuxidc.com/Linux/2015-04/116032.htm

Linux各个目录的作用及内容

一、根目录“/”

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

二、/bin

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

三、/boot

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

四、/dev

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

/cdrom:该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下, 例如“mount /dev/cdrom /cdrom”。

五、/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:其中包含每个软件仓库的配置文件。

六、/lib

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

七、/lost+found

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

八、/mnt

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

九、/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启动脚本。

十、/opt

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

十一、/root

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

十二、/sbin

目录/sbin、/usr/sbin和/usr/local/sbin存放了该目录启动系统时需执行的程序,如管理工具、应用软件和通用的根用户权限命令等内容。如包含getty、init、update

十三、/usr

/usr:这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录了。具体来说:

/usr/X11R6:存放X-Windows的目录。

/usr/bin:存放着许多应用程序.

/usr/sbin:给超级用户使用的一些管理程序就放在这.

/usr/doc:这就是Linux文档的大本营.

/usr/include:Linux下开发和编译应用程序需要的头文件在这里找.

/usr/lib:存放一些常用的动态链接共享库和静态档案库.

/usr/local:这是提供给一般用户的/usr目录,在这安装软件最适合.

/usr/man:是帮助文档目录.

/usr/src:Linux开放的源代码,就存在这个目录,爱好者们别放过哦!

/usr/X11R6:存放X-Windows的目录;

/usr/games:存放着XteamLinux自带的小游戏;

/usr/bin:用户和管理员的标准命令;

/usr/sbin:存放root超级用户使用的管理程序;

/usr/doc:Linux技术文档;

/usr/include:来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++;

/usr/lib:应用程序和程序包的连接库;

/usr/local:系统管理员安装的应用程序目录;

/usr/man:帮助文档所在的目录;

/usr/src:Linux开放的源代码;

/usr/share:用于存放一些共享的数据,比如音乐文件或者图标等等

十四、/var   

/va:用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。      

/var/cache:应用程序缓存目录;

/var/crash:系统错误信息;

/var/games:游戏数据;

/var/log:日志文件;

/var/mail:电子邮件;

/var/tmp:临时文件目录;

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这