1-4 Linux 标准目录结构FHS

2023-05-16

文章目录

  • 前言
  • 标准目录结构
  • / (根目录)
  • /bin
  • /boot
  • /dev
  • /etc
  • /home
  • /lib
  • /media
  • /mnt
  • /opt
  • /run
  • /sbin
  • /srv
  • /tmp
  • /proc
  • /sys
  • /var
  • /lost+found
  • /root
  • /usr

前言

Linux操作系统中的目录(文件夹)结构遵循Linux基金会定义和维护的Linux文件系统层次标准(FHS)。有了定义良好的标准,用户和软件开发人员就可以更容易地知道已安装的二进制文件、系统文件、系统信息等的位置。通过这种方式,Linux应用程序不必为特定的发行版量身定制,而是可以普遍使用。



标准目录结构

如下图,左侧/为根目录,连接着boot, bin, sbin等目录,其中usr有多个子目录,虚线说明两目录为软连接(快捷方式)关系。

在这里插入图片描述



/ (根目录)

这是Linux文件系统层次结构的开始。所有的文件路径都起源于根目录。

上面列出的目录或指向这些目录的符号链接在/中是必需的,否则,文件结构就不符合FSH。


/bin

存储系统管理员和用户都可以使用的基本命令二进制文件,如cat,ls,mv,ps,mount等。

这些命令用于引导系统(访问引导文件、挂载驱动器),并且可以在/usr中的二进制文件不可用时修复系统。


/boot

此目录包含系统启动所需的所有文件。

这包括内核文件,initrd, initramfs, bootloader等。


/dev

包含系统中挂载的所有物理和虚拟设备的设备文件。

设备文件不是传统意义上的文件。它们是设备驱动程序访问并与所述设备交互的一种方式。

通常,主存储称为sda (/dev/sda)


/etc

此目录包含系统的配置文件。

设备名称、密码、网络配置、DNS、crontab、日期和时间等都存储在配置文件中。

根据FHS,该目录不能包含任何二进制可执行文件。

这些配置文件影响系统上的所有用户。如果您想对特定用户进行配置更改,应该使用~/.conf/而不是/etc/


常见/etc目录下的配置文件:

/etc/bashrc    		用来定义系统范围内的函数和别名
/etc/crontab 		计划任务的配置文件
/etc/fstab    		记录系统中开机启动时所要自动挂载的相关文件系统列表
/etc/group    		记录系统用户组的基本信息
/etc/gshadow 		记录用户组密码
/etc/hosts    		记录主机名和ip
/etc/issue    		用户在登陆系统前显示的信息
/etc/passwd   	 	用户的基本信息
/etc/shadow    		用户的密码信息
/etc/login.defs    	设置用户账号的设置信息,在添加新用户时根据这个文件生成相应的显示内容
/etc/skel    		添加新用户时将此目录中拷贝/home中并修改目录名为用户名
/etc/profile  		每个用户的环境变量信息
/etc/profile.d 		包含/etc/pfofile中需要执行的脚本
/etc/ssh        	ssh服务配置文件
/et/yum.repos.d 	yum仓库配置文件目录

/home

主页包含所有个人用户特定的文件。它为每个用户包含独立的目录,可以通过cd /home/username访问。

这是你大部分工作的地方。你系统上所有的下载、图片、音乐等都在/home目录下。

每个应用程序的特定于用户的配置文件可以在/home/[username]/.conf中找到。

可以通过执行cd ~[username]进入任何用户的主目录。如果系统上只有一个用户,那么使用cd ~就可以。


/lib

库是定义编程语言中使用的命令的标准代码文件。在编译过程中,编译器会查找这些库来理解代码,就像我们在读书时查找字典来理解句子的意思一样。

这个目录包含启动系统所需的所有库,以及/bin和/sbin中要运行的命令。它还包含控制大量硬件和设备功能的内核模块。

很多时候,不同的32位和64位库具有相同的名称。为了避免任何串通,这些二进制文件被保存在两个独立的目录中,分别命名为/lib32和/lib64。


/media

此目录包含几个子目录,系统在其中挂载可移动设备(如USB驱动器)。


/mnt

用户可以使用该目录手动挂载设备(与仅由系统使用的/media相对)。

当前用户之间的惯例是在/mnt下创建一个单独的子目录,并将设备挂载在该子目录中,而较老的传统是将设备直接挂载在/mnt中。


/opt

/opt包含与包相关的库和二进制文件,它们不是由系统的包管理器安装的,而是通过第三方的方式安装的。

/opt是/usr/local的一个不太受欢迎的替代方案。是供应商决定库和二进制文件的去向,但通常更单一和专有的软件。


/run

此目录包含自引导后的设备和元数据。

这包括当前会话中执行的所有系统进程和守护进程的数据。

在引导过程开始时,该目录下的文件被清除(删除或截断)。


/sbin

就像/bin一样,/sbin也包含必要的系统二进制文件。但是,这些二进制文件仅供系统管理员而不是普通用户使用。

这些二进制文件主要用于设备管理。例如,fdisk, fsck, mkfs, ifconfig, reboot。


/srv

只有当你的设备作为网络服务器时,你才会使用这个目录,因为这个目录包含了所有关于网络服务器的文件。

例如,如果主机有一个FTP连接,所有需要共享的文件默认应该在/srv/ FTP目录下。


/tmp

包含当前运行进程的临时文件。

每次引导后也会刷新此数据。


/proc

就像/dev提供作为文件的设备一样,这个文件夹包含作为文件的系统信息和内核信息。

这包括内存、分区、硬件(电池、温度等)、所有加载的内核模块等信息。


/sys

它包含类似于在/proc/中保存的信息,但是显示关于热插拔设备的特定设备信息的层次视图。


/var

包含有关正在运行的进程的可变数据。

这包括所有应用程序的日志、缓存和线轴。

线轴是等待进一步处理的数据。例如,在打印机队列中等待的文档或等待发送的电子邮件头。


/lost+found

虽然没有列在FHS中,但该目录是由fsck自动生成的,ext4特有的。

它将所有孤立的和损坏的文件存储在这个文件夹中。

这包括因为断电而无法保存的文件,由于升级过程失败而损坏的文件等等。


/root

root用户的家目录。root登录后便进入到该目录,普通用户无法访问。


/usr

/usr目录有一个非常有趣的起源。在创建时,它的作用应该类似于/home目录,但当人们在/bin上用完空间时,他们开始将非必要的二进制文件存储在/usr中。

随着时间的推移,这个目录已经被用来存储用户安装的应用程序的二进制文件和库。例如,bash在/bin中(因为它可以被所有用户使用),fdisk在/sbin中(因为它应该只被管理员使用),而用户安装的应用程序,如vlc在/usr/bin中。

总之,/usr就是应用系统的存储目录。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1-4 Linux 标准目录结构FHS 的相关文章

  • zabbix5.0快速部署脚本

    bin bash 版本1 0 zabbix 43 nginx版本 welcome cat lt lt EOF 需要需改的配置文件有 xff1a 1 vi etc yum repos d zabbix repo zabbix源 2 vi et
  • openstack创建网络,路由等

    参考链接 xff1a https blog csdn net qq 28540443 article details 109184700 ops request misc 61 amp request id 61 amp biz id 61
  • shell脚本颜色

    https blog csdn net it chang article details 111084116
  • windows11 安装 vmare sphere client 无法启动问题

    被搞了两天特别记录一下 xff1a 现象 xff1a 安装什么都正常双击就是启动不了 解决 xff1a 控制面板 程序和功能
  • ceph delete pool

    参考 xff1a Pools Ceph Documentation 前言 xff1a 网上的写的乱七八糟不是你抄我就是我抄你 写的完全瞎扯 简直看不下去 官网截图 xff1a 准备 1 查看pool名称 ceph osd lspools 创
  • TODS:一款功能强大的多元时间序列异常检测工具

    TODS是一个全栈的自动化机器学习系统 xff0c 主要针对多变量时间序列数据的异常检测 该系统可以处理三种常见的时间序列异常检测场景 xff1a 点的异常检测 xff08 异常是时间点 xff09 模式的异常检测 xff08 异常是子序列
  • Linux防火墙firewalld安全设置

    背景描述 防火墙是具有很好的保护作用 攻击者必须首先穿越防火墙的安全防线 xff0c 才能接触目标计算机 在公司里数据安全是最重要的 xff0c 要求安全部门进行全公司进行服务器防火墙安全搭建 xff0c 在原有的基础上进行安全的防火墙设置
  • STM32F1--FreeRTOS系统学习(一):系统下载移植以及跑马灯测试

    以下内容皆是个人学习过程中的总结 xff0c 记录一下整个过程 xff0c 用于后期复习 xff0c 如有不对之处 xff0c 麻烦各位大佬指出 xff08 喜欢的朋友麻烦点个关注 后期还会进行持续更新 xff09 一 什么是FreeRTO
  • 如何准备国内一流互联网公司面试,如百度、阿里、腾讯、字节等

    入职新公司快半年了 xff0c 今天 xff0c 我就想和大家聊聊 xff0c 关于找工作 面试的一些心得与体会 说实话 xff0c 在这次找工作之前 xff0c 我面试找工作的经历并不丰富 xff0c 反而是当面试官的次数更多 所以呢 x
  • 基于 瑞芯微 RK1126 平台的项目总结(包含AI 画中画 RTSP OSD 录像 双路摄像头)

    其实这个项目结束一两个月了 中间过了个年 就把这事给忘记了 趁现在比较空记录一下 说下概况 项目是基于RK1126平台 硬件配置2个摄像头一个广角一个长焦 需要支持画中画在广角摄像头的画面中 显示长焦摄像头的大概位置 但是由于硬件还是驱动没
  • JavaScript小案例2-实现猜数游戏

    题目要求 xff1a 系统生成一个1 100的数 xff0c 然后让玩家猜数 如果玩家猜对该数 xff0c 则游戏结束 xff1b 如果没猜对 xff0c 则弹出警告框告告知玩家数字猜大了还是猜小了 xff0c 并提示玩家是否继续游戏 xf
  • 【Ubuntu】Linux文件系统简介

    Linux文件系统简介 Linux文件系统简介及类型1 Linux文件系统简介2 Linux文件系统类型 Linux文件系统结构文件操作指令创建新文件命令 touch创建文件夹命令 mkdir文件夹及目录删除命令 rm文件夹 目录 删除命令
  • 嵌入式实时操作系统(RTOS)

    一 项目准备工作 1 创建一个标准库项目 这里不用很麻烦 xff0c 项目能跑就行 xff0c 后面要以这个项目为基础移植 2 下载ucOS 源码 ucos 源码 百度网盘链接 xff1a 提取码 xff1a 1234 xff08 STM3
  • ROS环境安装与配置

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 实验环境一 ROS话题二 ROS消息三 C 43 43 编码实现小海龟圆周运动 提示 xff1a 以下是本篇文章正文内容 xff
  • solvepnp参数获取

    1 上参数 xff1a solvePnP 具体参数 xff1a objectPoints xff1a 特征点的世界坐标 xff08 3d点 xff09 xff0c 坐标值需为float型 xff0c 不能为double型 xff0c 可以为
  • 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准

    磁力计校准椭球拟合使用篇 xff01 xff01 下方蓝色函数链接 xff01 xff01 matlab 椭球拟合函数链接 串口打印磁力计数据 xff0c 可以选择原始数据不进行任何缩放 xff08 前提是各轴向分辨率一致 xff09 sp
  • 数据结构与算法 — 希尔排序 和 快速排序

    目录 一 希尔排序 1 希尔排序的介绍 1 希尔排序的历史背景 2 插入排序的问题 3 希尔排序的做法 4 选择合适的增量 2 希尔排序的实现 3 希尔排序的效率 1 希尔排序的效率 2 Hibbard 增量序列 3 Sedgewick增量
  • MCU与MPU的区别

    CPU xff08 Central Processing Unit xff0c 中央处理器 xff09 发展出来三个分枝 xff0c 一个是DSP xff08 Digital Signal Processing Processor xff0
  • vue 自定义指令

    指令包含有四个生命周期的钩子函数 xff1a 可以局部注册 xff0c 也可以全局注册 注册一个全局自定义指令 96 v focus 96 Vue directive 39 focus 39 当被绑定的元素插入到 DOM 中时 insert
  • Ubuntu16.04下安装编译gcc10.1.0

    我自己这里有 xff0c 不过我要升级一下 xff0c 参考的这个网站 GCC编译器下载和安装教程 xff08 针对Linux发行版 xff09 首先确定一下自己当前使用的linux是否装有编译器 gcc version 可以看到我这里装了

随机推荐