概述
本文前半部分介绍了 Linux 文件系统目录标准 FHS (Filesystem Hierarchy Standard)。后半部分整理了个人学习 Linux 过程中涉及到的部分文件和路径,激励自己坚持更新,以期完善。
背景
由于Linux是遵循开源协议,任何人都可以根据Linux的核心代码制作和发行版本。如果每个人都按自己的喜好,在/目录下创建目录、存放文件,必将导致个人不能使用他人的linux系统。因为你根本不知道一些基本的配置和文件在哪里...这就造成了混乱,不利于Linux的发展。为避免这样的情况,FHS就应运而生了。FHS主要对linux文件系统目录进行规范化,让操作者不至于换一台PC就成了Linux的‘文盲’。
定义
FHS采用树形结构组织文件,定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
FHS定义了两层规范:
定义了 / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。
针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。
图示FHS
文件和目录
由于本人学习的系统环境是CentOS7,以下整理主要基于 CentOS7进行的,偶有CentOS6.8进行差异比较。
路径
类型
描述
/etc/bashrc
文件
为运行bash shell的所有用户执行此文件,当bash shell被打开时,该文件被读取。
/etc/centos-release
文件
查看CentOS的发行版本,建议修改,有软链接文件 :/etc/redhat-release
/etc/issue
文件
预登陆信息,它提供了登录提示符出现之前显示的信息 或者系统标识。可以#man agetty查看文件支持的标示格式
/etc/man_db.conf
文件
man命令的配置。CentOS6为/etc/man.config
/etc/profile
文件
为系统的所有用户设置环境信息,当用户登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/shells
文件
记录了系统可用shell列表
/etc/sysconfig/network-scripts/
目录
保存网络配置文件
/lib/modules/
目录
该目录下以内核版本号为名的子目录,存放各种驱动,非常重要。
/proc/cpuinfo
文件
查看cpu信息
/proc/meminfo
文件
查看内存信息
/proc/partition
文件
查看分区和磁盘信息
/sys/class/scsi_host/host2/scan
文件
SCSI磁盘扫描机制。Vmware虚拟机添加SCSI硬盘,系统免重启识别可以使用命令#echo ‘- - -’ > /sys/class/scsi_host/hostN/scan(N根据实际情况可变)
/usr/share/dict/words
文件
快捷方式,实际指向linux.words,Linux的字典文件
/usr/share/doc/
目录
本地帮助文档
/usr/share/man/
目录
提供了man文档存放
~/.bash_history
文件
用户的命令历史文件
~/.bash_profile
文件
个体用户shell配置,设置了一些环境变量,执行用户的.bashrc文件。
~/.bashrc
文件
个体用户bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
保持更新ing...
写在结束
以上部分内容整理自网络,用户言论只代表其个人观点,由于初学Linux,限于本人水平有限,文中难免错误纰漏。欢迎各位看官不吝指教、讨论相关技术。谢谢。