第五十三讲——linux目录结构及其功能 本文共有19273个字,关键词: linux目录结构: 1.操作系统自身启动需要用到的路径,这一套路径中没有任何目录能单独使用分区(挂载),必须在根上(根文件系统所在分区(根分区)): /etc 配置文件 /bin 普通用户命令存放位置(二进制程序) /sbin 管理员命令存放位置(二进制程序) /lib 库文件 2.操作系统的基本功能,基本服务: /usr/bin 普通用户命令存放位置(二进制程序) /usr/sbin管理员命令存放位置(二进制程序) /usr/lib 库文件 /usr目录可以单独分区,如果将来系统崩溃,其他安装的软件依然存在,应当单独分区,/usr上放的是操作系统的核心功能。 3.第三方软件的安装目录,也就是说,这个软件和操作系统没有关系,和核心功能也没有关系,只是我们为了向外提供一些服务附加进来的,因此他可以独立分区,且建议其独立分区,完全独立的,挂载到其他主机也能够使用: /usr/local/{bin,sbin,lib,etc,share...} 4./opt 以前的软件(三方软件)的安装目录。 5./sys 伪文件系统,系统启动后,给用户提供的一个调用接口,关机状态为空,不能单独分区。 6./proc 伪文件系统,系统启动后,给用户提供的调用接口,是内核实现自我管理使用的,关机状态为空,不能单独分区。 7./dev 设备文件目录,不能单独分区,CPU、内存是由内核直接驱动的,在2.4内核版本前,/dev下有成千上万的设备文件,不管用不用都要有,万一会用到呢?因此无法根据文件来识别设备但是在2.6版本后内核引入了另一套机制:udev udev机制: udev机制结合内核和用户之间的程序能够实现让内核通过驱动程序自动识别到硬件以后自动在/dev下创建设备文件。所以udev能够通过内核(靠驱动程序)对识别到的硬件动态创建设备文件,且能够给设备取一个别致的名字。 udev使得设备文件的创建是按需创建的,这是2.6内核版本的重要功能改变。 内核识别设备时靠驱动程序完成的,并将识别出的信息输出。udev可以通过这些信息判定这是一个什么样的硬件设备,按照事先定义好的数据库结合设备型号创建设备文件,而且创建设备文件时还可以按照用户定义的规则来创建一个具有特殊名称的设备文件。 8./home 应当单独分区,可能会存放很多数据,但是对服务器来讲,基本上用于编译软件,不会有娱乐操作。 9./root 一般来说,不应单独分区,一些操作系统上直接没有管理员家目录,意义不大,管理员四处为家。在Unix上,管理员是没有家目录的,我们一般不使用管理员直接登录。 10./var 存放经常发生变化 的数据文件,应当单独分区,随着主机的运行,会生成大量的日志信息和运行过程中的信息,除了日志之外,一些文件是可以删除的。 ache 应用程序缓存目录 lib 应用程序状态信息数据 local 专用于/usr/local下的应用程序存储可变数据。 lock 锁文件 log 日志目录及日志文件存放此目录 opt /opt下的应用程序存储的数据放在此目录下 run 与运行中的程序相关的数据,通常存放进程的PID文件。 spool 缓冲池 tmp 存储系统两次重启之间产生的数据 11./boot 内核文件(vmlinuz)、引导加载器(BootLoader、grub)等 内核文件在操作系统启动中就会使用到,在刚刚启动操作系统的时候文件系统是没有的,因为文件系统是建立在内核之上的,此时根问价系统也不存在,所以/boot也不存在,所以/boot只是我们启动操作系统后看到的目录而已,所以/boot目录和启动的过程没有关系。 我们来回顾一下计算机的启动过程: 加电自检 ↓ 根据BIOS中设置的启动顺序找启动盘 ↓ 加载MBR,通过MBR识别操作系统在哪个分区,MBR加载完成之后需要靠MBR中的boot loader实现引导操作系统,BootLoader会加载操作系统的内核。 bootloader能够看到磁盘的分区,但是看不到文件系统,因为文件系统时内核的功能,因此BootLoader是直接靠分区表来识别内核在哪个位置的,内核一定在某一分区上,这个分区可能已经格式化过了,bootloader应当能够识别相应的文件系统格式,虽然文件系统不存在,也就是说,这种文件系统的目录和结构是没有的,但是分区已经格式化过了,且格式化的信息为数据区和元数据区,这是另外一个层次的文件系统,跟内核的识别过程是没有关系的,跟内核中的驱动模块也是没有关系的,但是,bootloader必须要能够识别,才能进行数据的读取,所以bootloader也应当能够识别相应文件系统的结构,bootloader能够识别什么样格式的文件系统,内核就能够放到对应文件系统的分区上,bootloader直接访问该分区。加载内核文件到内存。 内核运行起来以后找到根文件系统,将根下的各种目录都启动起来。 内核和根没有必然的附属关系。 一般来说/boot单独分区,/(根)放在lvm上,因为LVM是内核的功能,要使用LVM得启动内核,而我们要加载的就是内核。 12./tmp 临时文件目录,一般来讲最小不能低于400MB。 13./srv 不单独分区。主要用来保存本机或本服务器提供的服务、数据。 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 几人行 (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 给自己讲linux 2017-01-22 评论 1671 次浏览