极北之地,兴安之雪,老骥伏枥转战Linux运维,最近根据授课和大略看了FHS3.0,对Linux的目录有了初步的了解,怕人老忘性差,作以记录。

一、目录结构图

Linux的目录是一个倒置的树状结构,最顶层的目录为“/”目录,以此衍生各种子目录,而FHS3.0有对“/usr/”和“/var/”两个次级子目录进行了规范,大略结果如下图,由于篇幅有限,我把树状结构稍微进行了改变,表达的不是特别清晰,但具体的逻辑结构应该没问题。

二、/:及相关目录介绍

1、/:根目录:Root directory,它的作用,只要是比我强的,都知道他的作用,嗯,好像,没有比我弱的,在强调一边,CentOS系统中最重要的一个目录,也是最底层、最基础、最脆弱的一个目录,什么目录都可以损害,boot重要吧,损坏了,可以引导修复,etc重要吧,坏了可以重新配置,但如果/目录损坏了,你也别抱有幻想了,除了哪些顶级大神,能不同程度恢复一些数据,像我这种初学者,就只能用绝招,重装系统了。

所有,/目录要最大程度上减少与其他的交互,尤其是人机交互,FHS建议根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好,根目录所在的文件也就不容易发生问题。但/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中,即使不放在同一个分区,应该该放符号链接。

根据FHS定义根目录最好包含下面这些子目录:

        2、/bin----->/usr/bin :存放了系统关键的可执行的二进制文件,可以被所有人使用,这里存放的文件,也是一般用户的基本命令,例如cat、ls、chmod、chown,date,mv,touch,mkdir,cp,bash等,此目录作为系统变量环境的基本参数,使用echo $PATH,可以查询。目前在CentOS中,/bin目录是/usr/bin的符号链接。

        3 、/boot:主要放置系统启动所需要的文件,包括LInux内核文件以及自动选项与启动所需要的配置文件等;Linux内核常用文件名为:vmlinuz,如果使用grub2引导程序,则还会存在/boot/grup2这个目录。这个目录建议单独分区,一旦这个目录初选问题,系统将无法启动。

如果说根分区似家里的正门,无论加入家里哪个房间,都需要从正门进入,那么boot分区就相当于正门的锁,每次回家之前,都需要开锁才能进入。

        4、/dev:这里存放的主要是设备文件,Linux之中,一切皆文件,不论是物理设备,虚拟设备,程序借口等等,都是文件,通过访问这个目录中的文件,就相当于访问了设备。重要的设备文件有/dev/tty*,/dev/sda*,/dev/sr0,/dev/cdrom,,/dev/input,/dev/null,/dev/zero等等。

这个目录非常重要,不论是鼠标、键盘、U盘、硬盘,光盘、打印机等外部设备,只要想接入Linux系统,必然会在这里有一个系统文件。这里的/dev/null文件,很有意思,对于像我这种初学者来说可以多练习一下。

        5、/etc/:系统主要的静态配置文件都放在这个目录中,例如账号、密码、组、登录方式、挂载方式、各种服务的启动文件,一般来说,这里的文件绝大部分可以给普通用户浏览,但只有root用户才能修改。

这个目录中的配置文件,一般用cat可以查看,比较重要的文件:/etc/opt/:主要放第三方软件的相关配置信息。

        6、/lib(lib64):系统被调用的库函数,不能单独使用,只能被系统、命令或者程序脚本调用,64位系统。比较重要的/lib/modules/文件目录,主要存放与内核相关驱动模块。

        7、/media:挂载点,现在基本不用。

        8、/mnt:比较常用的挂载点,一般建议将外接设备挂载到这个文件夹。

        9、/opt:第三方辅助软件放置的目录,根据个人习惯,有人习惯放在这里,有人习惯放在/usr/local目录下。

        10、/run:系统启动后产生的各项信息放置到这个目录,提升内存效能。

        11、/sbin---->/usr/bin:只能root用户才能使用的命令,主要用于设置系统环境,其他用户只能用来查询,包括了启动、修复、还原系统所需的命令。目前该目录作为/usr/sbin的符号链接。

        12、/srv:service的缩写,一些网络服务启动后,产生的数据和所需要的配置,都放在这个目录中,比较著名的有WWW,FTP等。

        13、/tmp:临时文件目录,这个目录是初学者经常使用的目录,所用用户都可以存取,建议不要把重要的目录文件放到这里,这个目录可以作为我们经常练习各种操作的地方,也可以作为公共交流区,不管别人,我是很喜欢这个目录,可以不负责任的删改。

        14、/home:家目录,每个用户登录系统后,第一时间所在的目录,也是对于用户来说比较隐私的目录,此目录可以配置个人登录shell的设置。

        15、/root:root的家目录,此目录可以进行单人维护模式,仅仅挂载根目录,所以此目录应该和根目录放置在同一个分区。

 16、/proc:虚拟文件目录,主要是存放系统在运行过程中内存中的文件信息,因为这个目录在内存中,所以不占用硬盘空间。比较重要的目录有/proc/cpuinfo、/proc/dma、/proc/interrupts、/proc/ioports、/proc/net*/等。

17、/sys:与proc目录相似,主要记载内核与硬件信息相关的内容。

三、/usr:Unix Software Resource

FHS中将/usr目录作为一个次级目录组来设置。/usr里面放置的资料属于可分享的与不可变动的(shareable, static),是系统软件所放置的目录,而不是使用者的资料啦!这点要注意。FHS建议所有软件开发者,应该将他们的资料合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。其具体目录配置如下:

目  录    放置内容
/usr/bin 作用同/bin
/usr/sbin 作用同/sbin
/usr/local 第三方软件安置点,强烈建议安装到此处,当然,你也可以另起炉灶,但总会不方便
/usr/lib 同/lib
/usr/share 只读数据文件,主要有共享文件,例如:man手册,软件帮助文件等等
/usr/include c/c++程序语言的头文件。
/usr/src 源代码安置点。

四、/var:variable

此目录放置的系统运行后,数据产生变化占用硬盘的目文件,因为/var目录主要针对常态性变动的文件,包括快取(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序数据(lock file, run file),或者例如MySQL资料库的文件等等,常见的子目录有

目录 放置内容
/var/cache 程序运行中占用缓存的文件
/var/lock 程序运行中需要被锁定的数据流所在目录
/var/log 日志文件放置的目录,极其重要。
/var/mail 个人邮件目录
/var/run 某些程序启动后,会将他们的PID放置到这里
/var/spool 程序运行中,队列数据放置点
/var/lib 程序运行中调用函数所占的文件或者目录

兴安雪学运维之:目录树详解相关推荐

  1. 兴安雪学运维之:CentOS用户组管理groupadd,groupdel...

    极北之地,兴安之雪,老骥伏枥转战Linux运维,关于用户组管理命令,看似简单,实际也简单,但应用起来,总会有力不从心之处,今天学习一下groupadd,groupdel,groupmod,gpassw ...

  2. java实现多层级目录树详解

    一,引言 在开发中,经常遇到前端需要实现一个多层级的目录树,那么后端就需要根据这种结构返回对应的数据,因此在这里记录一下本人在开发中是如何实现这个多层级的目录树. 二,建表建库 在建表时,需要注意的是 ...

  3. 兴安雪学运维之:CentOS用户管理命令详解之一

    极北之地,兴安之雪,老骥伏枥转战Linux运维,用户管理命令是运维学习常用命令的重中之重,需要反复理解,勤于练习,不断实践,才能熟练运用,个人结合学习实际,加以整理,仅供学习参考,不足之处,敬请批评指 ...

  4. js html5 目录 树,详解百度百科目录导航树小插件

    说起来比较惭愧,在园子里混了4年,注册账号也有3年多了,一篇博客都没有写过,之前不写博客的原因是:1,觉得自己的水平弱爆了,不敢出来误人子弟,也怕大牛们笑话 2,太懒了,有时候自己搞一点小东西,搞的过 ...

  5. 机器学习算法(二十五):KD树详解及KD树最近邻算法

    目录 1 KD树 1.1 什么是KD树 1.2 KD树的构建 1.3 KD树的插入 1.4 KD树的删除 1.5 KD树的最近邻搜索算法 1.5.1 举例:查询点(2.1,3.1) 1.5.2 举例: ...

  6. B-、B树详解及模拟实现

    B-.B树详解及模拟实现 文章目录 B-.B树详解及模拟实现 一.B-树 二.B树 1.性质 2.特性解释 3.B树的插入操作 4. B树的删除操作 5.B树摸拟实现 一.B-树 B-树就是B树 二. ...

  7. Android 驱动(12)---Linux DTS(Device Tree Source)设备树详解

    Linux DTS(Device Tree Source)设备树详解 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇) Linux DTS(Device Tr ...

  8. 系统批量运维管理器Fabric详解

    系统批量运维管理器Fabric详解 Fabrici 是基于python现实的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包 ...

  9. 【学习笔记】线段树详解(全)

    [学习笔记]线段树详解(全) 和三个同学一起搞了接近两个月的线段树,头都要炸了T_T,趁心态尚未凉之前赶快把东西记下来... [目录] [基础]作者:\((Silent\)_\(EAG)\) [懒标记 ...

最新文章

  1. Apache ‘mod_pagespeed’模块跨站脚本漏洞
  2. 错把一加当苹果,美国海关侵权大案糗大了:被网友无情嘲讽
  3. ffmpeg 从mp4上提取H264的nalu
  4. HDU4392(反素数强大的模版)
  5. 洛谷P4239 【模板】多项式求逆(加强版)(多项式求逆)
  6. nodejs python 通信_Nodejs环境实现socket通信过程解析
  7. 字符串指针的地址的传递
  8. 开奖及送书|《Vue.js权威指南》
  9. 用sc命令查询系统状态
  10. C#基础18:内置委托类型Action和Func
  11. 使用C++Test进行白盒测试
  12. H3C的发展历史和与华为的关系
  13. Python读写LMDB文件
  14. 1952-2018年中国各省份人均GDP
  15. jfs jfs2_在AIX 6.1上使用JFS2快照
  16. SPI 通信协议 最详细解读!!!
  17. 芮勇出任联想CTO,阿里巴巴获CIKM Cup冠军|AI科技评论周刊
  18. Linux OS 学习笔记(1)
  19. heapdump 攻击面利用
  20. C#与三菱,西门子,台达,基恩士,等各品牌plc通讯源码

热门文章

  1. html打开网页过场动画_快来!这里有5分钟看完马上学会的HTML基础大全
  2. 面试题-HTTP/HTML/浏览器
  3. python 矩阵向量乘积整理
  4. 计算机教师招聘的技能展示,厦门市教师招考音体美计算机技能测试的通知(2)
  5. stats.norm.sf(x) 的功能
  6. ubuntu 18.04.6安装后无法上网
  7. 轻NAS搭建 - 使用微力同步搭建私人云盘,无需公网IP也能远程访问
  8. vivo屏下指纹识别方案真的完美无瑕?
  9. 字节跳动历届笔试题(3)
  10. Alpha混合:一个颜色上覆盖另一个透明颜色