linux系统中各目录的作用

linux系统中,一切文件都是从跟目录“/”开始,按照文件系统层次化标准(FHS)采用树形结构来存放文件,并规定了常见目录的用途。

在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱。Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,

推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准。FHS 标准规定了 Linux 根目录各文件夹的名称及作用,统一了Linux界命名混乱的局面。

无论何种版本的 Linux 发行版,桌面、应用是 Linux 的外衣,文件组织、目录结构才是Linux的内心。

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、

所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,

例如 /etc应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态,如下表所示:

img

linux就该这么学p114

linux系统中根目录“/”下的常见目录及其作用:

1、/home:  系统默认的用户的家目录(除root外) ,新增用户账号时,用户的家目录都存放在此目录下

2、/dev:  (device)系统的设备文件目录,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

  目录保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别。

  如该目录下的子目录/dev/cdrom表示光驱目录;子目录/dev/console表示控制台;子目录 /dev/fd表示软驱;子目录/dev/hd表示硬盘上的一个分区;lp0表示打印机;ttyS0表示系统的串口设备;

  dsp表示系统的音箱设备。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。

3、/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目录主要存放系统配置文件。例如/etc/sysconfig/selinux目录就是SELinux功能的配置文件,修改该文件就可以启动或者关闭SELinux功能。

4、/boot:  存放系统开启时的初始化文件、系统内核,/boot/vmlinuz 为 linux 的内核文件

  /boot目录主要存放启动Linux系统所必需的文件,包括内核文件、启动菜单配置文件等,当计算机启动时,这些文件会首先被加载。

5、/media、/mnt:常用于挂载光盘的目录

/media目录在某些linux的发行版中用来挂载那些usb接口的移动硬盘(包括U盘)等。

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

6、/opt:  第三方软件安装目录

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

7、/root:  root用户的家目录

8、/proc:  此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo (查看cpu信息)

     这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

    进程文件系统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启动脚本。

9、/tmp:  临时存放目录,所有用户都有访问权限

10、/var:  放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录等。

    这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。

11、/usr: 应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。

/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls 时会查询 /usr/share/man/man1/ls.1.gz 的内容建议单独分区,设置较大的磁盘空间

/usr目录主要存放安装的软件、系统共用的文件、内核源码等。例如/usr/share/fonts是字体目录,/usr/share/man是帮助文件。

/usr
这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;

/usr/X11R6
存放X-Window的目录;

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

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

/usr/doc
这是Linux文档的大本营;

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

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

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

/usr/man
man在Linux中是帮助的同义词,这里就是帮助文档的存放目录;

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

12、/lib: 、/usr/lib: 存放函数库的目录

   目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。

   这使软件开发者能够利用那些预先写好并通过测试的函数。库文件包含了标准的C库/lib/libc.so.*,数学库libm.so.*,共享的动态链接库/lib/ld/so以及目录/bin和/sbin下用到的其他共享库。

   /lib/modules目录存放系统的核心模块,某些可被模块化的部分并不需要在编译系统核心时放入核心本体,避免本体过于庞大而导致效率降低。

13、/bin: 、/usr/bin:存放二进制执行程序的目录,如常用的命令ls、tar、mv、cat等。

14、/sbin、/usr/sbin:  存放系统用户可执行程序,如fdisk、shutdown、mount 等,与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

15、/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

16、/lost+found :这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。

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

参考:https://www.cnblogs.com/shoshana-kong/p/11069158.html

         https://blog.csdn.net/jiaxinhong/article/details/82826311

         https://www.linuxidc.com/Linux/2015-04/116032.htm

         https://jingyan.baidu.com/article/7c6fb4281edc5680642c90be.html

原文地址:https://www.cnblogs.com/liujiaxin2018/p/13855159.html