Linux基础 文件系统目录标准FHS

概述

本文前半部分介绍了 Linux 文件系统目录标准 FHS (Filesystem Hierarchy Standard)。后半部分整理了个人学习 Linux 过程中涉及到的部分文件和路径,激励自己坚持更新,以期完善。


背景

由于Linux是遵循开源协议,任何人都可以根据Linux的核心代码制作和发行版本。如果每个人都按自己的喜好,在/目录下创建目录、存放文件,必将导致个人不能使用他人的linux系统。因为你根本不知道一些基本的配置和文件在哪里…这就造成了混乱,不利于Linux的发展。为避免这样的情况,FHS就应运而生了。FHS主要对linux文件系统目录进行规范化,让操作者不至于换一台PC就成了Linux的‘文盲’。


定义

FHS采用树形结构组织文件,定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范:

  1. 定义了 / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。

  2. 针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。


图示FHS

wKioL1eaCDPhimYIAAUiBNir7lA527.png


文件和目录

由于本人学习的系统环境是CentOS7,以下整理主要基于 CentOS7进行的,偶有CentOS6.8进行差异比较。

路径 类型 描述
/etc/bashrc 文件 为运行bash  shell的所有用户执行此文件,当bash shell被打开时,该文件被读取。
/etc/centos-release 文件 查看CentOS的发行版本,建议修改,有软链接文件  :/etc/redhat-release
/etc/default/useradd 文件 useradd命令的默认配置参数
/etc/group 文件 组账户信息
/etc/gshadow 文件 安全组账户信息
/etc/issue 文件 预登陆信息,它提供了登录提示符出现之前显示的信息   或者系统标识。可以#man agetty查看文件支持的标示格式
/etc/login.defs 文件 shadow密码套件配置。(见/etc/shadow)
/etc/man_db.conf 文件 man命令的配置。CentOS6为/etc/man.config
/etc/passw 文件 用户账户信息
/etc/profile 文件 为系统的所有用户设置环境信息,当用户登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/shadow 文件 安全用户账户信息
/etc/shells 文件 记录了系统可用shell列表
/etc/skel 目录 基本的配置文件;useradd新建用户时候,系统默认将本目录下的内容复制到新用户家目录
/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,限于本人水平有限,文中难免错误纰漏。欢迎各位看官不吝指教、讨论相关技术。谢谢。

联系我:jacky18676887374@aliyun.com


原创文章,作者:昭其,如若转载,请注明出处:http://www.178linux.com/30443

(0)
昭其昭其
上一篇 2016-08-07
下一篇 2016-08-07

相关推荐

  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • rpm包管理

    rpm包管理 rpm(RedHat Package Manager) 是RedHat公司发展的一种将软件安装到Linux系统的管理机制,也是一种数据库记录方法。 Linux系统上软件的安装主要分两种方式,从厂商发布的tarball通过编译来安装;或者使用厂商已经在相应平台上编译好的二进制文件。 从源码编译安装的程序,在漏洞修补以及软件功能升级时太过麻烦,并且…

    Linux干货 2016-11-18
  • Nginx的安装及其一些配置

    nginx的编译安装    tar xf nginx-1.12.2.tar.gz   cd nginx-1.12.2     yum install pcre-devel  ./configure –help   groupadd -r nginx     useradd -g nginx -r nginx    id nginx     ./c…

    Linux干货 2017-10-25
  • N25第四周总结(lvm)

    lvm 详解 大纲:    1、什么是lvm     2、为什么要使用lvm     3、如何实现lvm     4、lvm各项命令详解   1、什么是lvm:        lmv (Logical Volume Manager…

    Linux干货 2016-12-22
  • Linux下的LVM管理命令

    一. 何为LVM?     Logical Volume Manager的缩写,它可以把多个分区、硬盘甚至RAID组合成一个存储设备来使用,并可以扩展或缩减空间。LVM有三层组成组成:底层的PV,中间的VG,上层的LV,如图所示         &n…

    Linux干货 2015-12-06
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12