基于 Red Hat Enterprise Linux 7.5 或者 CentOS 7.4


FHS协议(Filesystem Hierarchy Standard)——文件系统层次化标准

该标准定义了主要的目录结构,便于统一开发和后续管理

该协议大体上只定义了两层,一是“\”根目录,二是“/usr”和“/var”两个目录的子目录结构

根目录定义

根目录是Linux系统中最核心的目录,不但是所有目录的根源所在,同时根目录也和开机、还原、系统修复等操作有关,所以当系统宕机的时候,根目录就必须包括修复程序才行,

FHS关于根目录的定义(就算实体目录不在这,也建议添加一个快捷方式在这里):

  • /bin:该目录放置了单人维护模式下还能被使用的系统指令。
  • /boot:该目录放置了开机会使用到的文件,包括Linux核心文件以及开机菜单和开机设定文件等
  • /dev:这个目录主要是放置外挂设备文件,也就是硬盘这些
  • /etc:该目录存放了几乎所有的Linux设定文件,账号密码、服务启动文件等。/etc目录下的文件可被一般人查阅,但只有root有对其的修改权
    • /etc/opt(必要):该目录放置了第三方软件/opt的设定文件
    • /etc/x11(可选):与X Window有关的设定文件均在此处,特别是xorg.conf这个X Server的设定文件
    • /etc/sgml(可选):与SGML格式有关的设定文件
    • /etc/xml(可选):与xml格式有关的设定文件
  • /lib:该目录放置了开机时会用到的指令库,以及/bin或/sbin的指令调用的指令库

    • /lib/modules(必要):系统核心驱动程序,特别是恢复并重新引导系统时需要的模块
  • /media:媒体文件,光碟、DVD这些都会挂载在这里
  • /mnt:临时挂载区,和/media没太多的区别
  • /opt:第三方软件放置区,所有的第三方(非Linux核心)软件都需要放置在这里
  • /run:系统缓存区
  • /sbin:开机过程中需要的指令,包括开机、修复、还原系统等指令
  • /srv:某些网络服务启动之后,这些服务使用的资料区,如www、FTP等
  • /tmp:让一般用户以及程序临时放置文件的地方,任何人都可以在此存放文件(不要将重要文件存放在此),该目录建议定期清理下
  • /usr:见下面详细说明
  • /var:见下面详细说明
  • /home(可选):预设的家目录,建立账号的时候家目录都会在这,当然也可以指定建立账号的不设家目录
    • ~:代表当前使用者的家目录
    • ~username:代表username的家目录
  • /lib64(可选):64位指令库
  • /root(可选):root的家目录,之所以不在/home里面,因为进入维护模式挂载根目录的时候同时拥有root的家目录,所以分割磁盘的时候建议root和根放在一块
  • /lost+found:这个目录只存在于采用ext2/ext3/ext4的系统存储格式的Linux系统,即centos7之前的版本都会有这个目录,而采用了xfs系统的Linux则不存在该目录
  • /proc:虚拟内存目录,该目录存放的都是系统的缓存文件,例如内核、外设状态以及网络状态等,因为文件都是在内容中所以该目录不会占用实际物理空间
  • /sys:和/proc类似,存储的是内核以及硬件信息等,包括,已载入的核心模块和监视到的硬件信息等,该目录也是不占用实际物理空间

/usr定义

usr(Unix Software Resource),FHS协议建议开发者或者运维人员以及其他使用者将第三方软件放置在该目录下,不要另行开辟新目录,系统刚刚安装完毕的时候该目录占用的空间是最大的

FHS关于usr目录的定义:

  • /usr/bin:所有一般用户能够使用的指令均放置于此,而且根目录下的/bin快捷方式连接的就是该目录,同时该目录下不应该有子目录存在
  • /usr/lib:根目录下的/lib的快捷方式连接的就是该目录
  • /usr/local:建议将软件都安装或放置于该目录下
  • /usr/sbin:非系统正常运作时需要的指令,常见的是服务器软件的服务指令,同时根目录下的/sbin的快捷方式连接的就是该目录
  • /usr/share:主要放置只读文件,包括共享文件等,该目录下放置的都是任何软件硬件都能读取的”文字“资料
  • /usr/game(可选):游戏
  • /usr/include(可选):c/c++等语言的头文件和库文件放置处
  • /usr/libexec(可选):某些不常用的执行文件和脚本放置的地方,例如X Windows的操作指令等
  • /usr/lib64(可选):根目录下的/lib64的快捷方式连接的就是该目录
  • /usr/src(可选):源码文件放置处

/var定义

var主要放置常态性变动的文件,例如快照(cache)、登陆文件以及某些软件运行之后产生的文件等,var在系统运行时间久了以后占用的空间会超过usr目录

  • /var/cache:程序运作过程中产生的缓存文件
  • /var/lib:程序执行过程中需要使用到文件的放置处
  • /var/lock:文件锁,如果一个文件同时被两个程序调用,那么该文件的操作权会锁定给其中一方,另一方则只有只读权限同时无法修改该文件,直到另一方的锁定权解除
  • /var/log:这是登陆文件放置的目录,而不是日志文件
  • /var/mail:邮件目录
  • /var/run:某些程序或者服务启动之后,PID就会存放在这个目录下
  • /var/spool:队列文件,即队列中的程序使用的文件,使用完成之后就会被删除

Re:从零开始的Linux之路(目录配置)的更多相关文章

  1. linux文件权限目录配置笔记

    ###linux 文件权限目录配置笔记 ---------- 多人多任务环境 linux 一般将文件可存取的身份分为三个类别:owner group others Permission deny ls ...

  2. 关于linux中的目录配置标准以及文件基本信息

    关于Linux中的目录配置标准 在查看docker.k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard ...

  3. Msftables之Linux NFS共享目录配置漏洞

    实验目的 1.了解Metasploitables靶机系统漏洞: 2.学习使用Metasploit. 实验原理 msftables之利用Linux NFS共享目录配置漏洞渗透. 实验内容 msftabl ...

  4. linux中的目录配置

    一.权限对文件的重要性 1.r(read):可读取此文件的实际内容,读取文本文件的文字内容等. 2.w(write):可以编辑,新增或者是修改该文件的内容. 3.x(execute):该文件具有可以被 ...

  5. Re:从零开始的Linux之路(文件权限)

    基于 Red Hat Enterprise Linux 7.5 或者 CentOS 7.4 基本概念 Linux最核心的一个概念就是:Linux里面任何东西都可以被视为一个文件,包括系统本身(说到底L ...

  6. Re:从零开始的Linux之路(杂谈)

    决定认真从零开始写一个Linux的学习过程,像我这么偷懒的人能写文字记录已经很不容易了,希望不要半途而废吧(拖走) 用多了Linux其实发现,要是哪天Linux和Windows能结合下就好了,简单粗暴 ...

  7. Re:从零开始的Linux之路(基础篇)

    基于 Red Hat Enterprise Linux 7.5 或者 CentOS 7.4 Linux的命令一定遵循以下格式:command指令  [-options]选项  parameter1参数 ...

  8. (转)Linux的文件权限与目录配置

    ref:https://www.cnblogs.com/ysocean/p/7712412.html#_label1_0 (转)Linux文件权限和目录配置 1.Linux命令的普遍语法格式 命令格式 ...

  9. Linux 目录配置

    一.Linux 目录配置标准:FHS FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. FHS依据文件系统使用的频繁与否 ...

随机推荐

  1. 利用sizeof,得到二维数组的维度

    #include <iostream> #include <stdlib.h> using namespace std; int main() { ][]; cout < ...

  2. 什么是语义化的HTML?有何意义?为什么要做到语义化?

    一.什么是语义化的HTML? 语义化的HTML就是正确的标签做正确的事情,能够便于开发者阅读和写出更优雅的代码的同时让网络爬虫很好地解析. 二.为什么要做到语义化? 1.有利于SEO,有利于搜索引擎爬 ...

  3. Spark Mllib里决策树回归分析如何对numClasses无控制和将部分参数设置为variance(图文详解)

    不多说,直接上干货! 在决策树二元或决策树多元分类参数设置中: 使用DecisionTree.trainClassifier   见 Spark Mllib里如何对决策树二元分类和决策树多元分类的分类 ...

  4. Linux用脚本守护进程

    while true; do server=`ps -aux | grep tomcat | grep -v grep` if [ ! "$server" ]; then echo ...

  5. 读取jar包内的文件内容

    package com.chanpion.boot; import org.springframework.util.ResourceUtils; import java.io.File; impor ...

  6. Kendo UI 移动应用开发简介

    Kendo UI 移动应用开发简介 Kendo UI 支持开发 Web 应用,前面介绍的 SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS 开发移动是不是一个好的 ...

  7. If people in the communications only think about gains and losses of interest, then the pleasure of knowing each other will cease to exist.

    If people in the communications only think about gains and losses of interest, then the pleasure of ...

  8. ServletContext--HttpServletResponse--web项目执行流程

    一.ServletContext 接口(javax.servlet) 定义:public interface ServletContext 原理:     Tomcat启动的时候,需要识别webapp ...

  9. EF6 CodeFirst连接MySql 报nvarchar('max')错误解决办法

    1.在DBContext类加标签[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] 2.在Nuget控制台输入u ...

  10. LR使用流程简介之录制方式说明

    1.LR脚本录制方式说明1)HTML-based script基于HTML的脚本 从内存中读取并下载资源,较少的关联处理,可以加入图片检查,回放时需要解析返回的信息 a-基于用户行为的方式 web_l ...