福星,你能给我系统的跟我说说linux目录结构到底是怎么回事么?我十分努力的去记忆,可是记不住。
引言:Linux目录结构到底是什么?说实话,我知道什么意思,让我去说,我得好好想想。“需求是技术变更之本。技术的出现是为人服务的,能够生存的服务,必然有其一套标准,今天我们一起来探索一下linux目录的层次标准FHS”
一个人承包了一个活:选了一个地方用来堆放文件,文件堆多了记不住都是哪一类的文件,有了文件后缀;这个活自己干不完了,找了个人来帮忙,(找的这个人呢有一套自己的文件命名习惯)面对这一现象,第一个人只好划定区域来供多人堆放不同后缀但用途相同的文件,目录便有了;堆放所有文件的地方就是根。
如何推断出目录结构的顶点?
在任意目录下执行命令cd ../../../../../../../ (执行多次跳转上一级目录),就可以跳到目录的顶点了。这个顶级节点下堆叠存放着各种文件(file查看),这里简单的介绍下根下各节点的用途
本来是有准备的图,不知道怎么,Win10下图片本地上传用不了,给大家手巧了
目录 | 说明 |
. | 系统根目录,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/motd | 用户登录后的提示信息(可以用来提示用户登录到了什么地方,比如测试环境) |
/etc/issue | 登录前的提示信息,默认提示内核等 |
/etc/redhat-release | 系统版本 |
/etc/hosts | 本地地址和域名/主机的对应文件对应表,可用作解析域名,优先级最高 |
/etc/resolv.conf | dns配置文件,优先级低于hosts |
/etc/selinux/conf | selinux行为控制文件(开启,关闭,静默) |
/etc/profile | 系统全局变量\别名配置文件 |
/etc/networks | 网关配置文件 |
/etc/sysconfig/network-script/ifcfg-eth0 | 第一块网卡配置文件 可设置dns,优先级最低,系统重启后,读取该处dns用作默认 |
/etc/sysconfig/i18n | 系统字符集配置文件 |
/etc/exports | NFS网络文件系统配置文件 |
/etc/init.d/ | 系统服务管理命令存放路径/rpm,yum所安装的 |
/etc/fstab | 开机自动挂载配置文件 |
/etc/rc.local | 开机自动挂载 |
/etc/profile.d | 加载系统登录程序目录,命令或文件独立存在 |
/etc/passwd | 用户 |
/etc/shadow | 密码 |
/etc/group | 组 |
/etc/gshadow | 组密码 |
/etc/sudoer | sudo配置文件,一般用visudo |
/etc/syscel.conf | 内核相关设置 |
目录/文件 | 说明 |
---|---|
/var/log | 各种日志文件存放地 |
/var/log/messages | 系统日志存放地 |
/var/log/secure | 存放登录信息文件,按周轮循 |
/var/spool/cron/* | 定时任务 |
目录/文件 | 说明 |
---|---|
/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
转载于:https://blog.51cto.com/3524436/1959005