福星,你能给我系统的跟我说说linux目录结构到底是怎么回事么?我十分努力的去记忆,可是记不住。

引言:Linux目录结构到底是什么?说实话,我知道什么意思,让我去说,我得好好想想。“需求是技术变更之本。技术的出现是为人服务的,能够生存的服务,必然有其一套标准,今天我们一起来探索一下linux目录的层次标准FHS”

一个人承包了一个活:选了一个地方用来堆放文件,文件堆多了记不住都是哪一类的文件,有了文件后缀;这个活自己干不完了,找了个人来帮忙,(找的这个人呢有一套自己的文件命名习惯)面对这一现象,第一个人只好划定区域来供多人堆放不同后缀但用途相同的文件,目录便有了;堆放所有文件的地方就是根。

如何推断出目录结构的顶点?

在任意目录下执行命令cd ../../../../../../../ (执行多次跳转上一级目录),就可以跳到目录的顶点了。这个顶级节点下堆叠存放着各种文件(file查看),这里简单的介绍下根下各节点的用途

本来是有准备的图,不知道怎么,Win10下图片本地上传用不了,给大家手巧了

CentOS 6.9  根下各节点用途说明(参考 FHS 2.3
目录说明
.系统根目录,linux
/bin常用二进制命令所在目录(普通用户命令)
/boot内核及引导系统程序所在的目录
/dev设备文件
/etc

系统配置文件及系统服务的管理命令存放位置

/home普通用户家目录

/lib

库文件存储目录

/lib64
64位库文件存储目录
/lost+found发生意外硬盘丢失文件或许会写到这里,用fsck修复
/mnt

挂载目录(约定,非必需)

/opt

公共软件安装目录

/proc
用于存放内存信息的虚拟目录,开机后挂载
/root
root用户家目录
/sbin
大多数需要管理员权限执行的命令存储目录
/tmp
临时文件存放目录
/usr用户程序/及数据帮助文件等
/var经常变化的目录,日志,定时任务等都在
/srv
很像proc
/selinux
selinux配置文件存放目录


 记不住这么多的定义,如何确认某目录干什么的?

#由于我比较懒,我就不根据目录层次标准定义的,逐一翻译了,这里通过一个实例,给大家介绍一个方法,


小技巧:任意目录下任取10个文件来分析,我们就可以推断出这个目录是干嘛的

为了方便查阅,我决定把根下一些重要的子目录及文件简单说明一下

/etc下比较重要的文件或目录   后期逐渐补充
目录/文件说明
提示信息
/etc/motd

用户登录后的提示信息(可以用来提示用户登录到了什么地方,比如测试环境)

/etc/issue登录前的提示信息,默认提示内核等
/etc/redhat-release系统版本
/etc/hosts本地地址和域名/主机的对应文件对应表,可用作解析域名,优先级最高
/etc/resolv.confdns配置文件,优先级低于hosts

/etc/selinux/conf

selinux行为控制文件(开启,关闭,静默)
/etc/profile系统全局变量\别名配置文件
/etc/networks网关配置文件
/etc/sysconfig/network-script/ifcfg-eth0

第一块网卡配置文件

可设置dns,优先级最低,系统重启后,读取该处dns用作默认

/etc/sysconfig/i18n

系统字符集配置文件

/etc/exportsNFS网络文件系统配置文件
/etc/init.d/系统服务管理命令存放路径/rpm,yum所安装的
/etc/fstab开机自动挂载配置文件
/etc/rc.local
开机自动挂载
/etc/profile.d
加载系统登录程序目录,命令或文件独立存在
/etc/passwd
用户
/etc/shadow密码
/etc/group
/etc/gshadow
组密码
/etc/sudoersudo配置文件,一般用visudo
/etc/syscel.conf
内核相关设置


 

/var目录下重要目录说明
目录/文件说明
/var/log各种日志文件存放地
/var/log/messages系统日志存放地
/var/log/secure存放登录信息文件,按周轮循
/var/spool/cron/*定时任务


 

/proc目录下重要子目录/文件
目录/文件说明
/proc
虚拟目录,是内存信息的映射
/proc/version内核版本
/proc/sys/kernel系统内核功能
/proc/sys/net/ipv4临时生效,修改/etc/syscel.conf永久生效
/proc/cpuinfo关于处理器信息CPU
/proc/meminfo系统内核信息
/proc/devices当前运行内核所配置的所有设备清单
/proc/dma
当前正在实用的DMA通道
/proc/interrupts
正在使用多少终端,和曾经有多少个中断
/proc/ioports
正在使用的I/O端口
/proc/loadavg
系统负载平均值信息(系统繁忙情况,比较准确,但是不够细致-系统性能指标),uptime的结构,值不要超过CPU的核数
#对了,如果新写的脚本文件记得放在$PATH 环境变量所包含的目录内,否则就要用绝对路径执行了。
如果需要追加,请追加到/etc/profile下

 email:b1maw3n@163.com