Linux系统目录树结构以及解释

news2024/12/28 10:36:50

FHS标准

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范,第一层是,/下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。

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

也就是说,实际上,FHS针对目录架构仅定义了三层目录下应该放什么数据,分别是:

  • / (root,根目录):与开机系统有关。
  • /usr (UNIX software resource): 与软件安装和执行有关。
  • /var (variable): 与系统运作过程有关。

Linux目录树

树状目录结构

在这里插入图片描述

各个目录的解释

bin

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令,放置的是在单用户模式维护模式下还能被操作的命令,/bin下命令可以被root和一般账号使用。如:cat、chmod、chown、mkdir、cp等

boot

放置开机会使用到的文件,包括liunx内核文件以及开机菜单与开机所需配置文件,包括一些连接文件以及镜像文件等。

/dev

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备与接口设备文件,在 Linux 中访问设备的方式和访问文件的方式是相同的,只要通过访问这个目录下面的某个文件就相当于访问该设备。

/etc

etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

系统主要配置文件几乎都放置在这个目录内,如用户账号、密码、各种服务起始文件等、该目录下的文件普通用户可以查看,但只有root用户有权修改。FHS建议不要放置可执行文件(binary)在此目录。

  • 该目录下比较重要的文件有:
    • /etc/inittab
    • /etc/init.d/
    • /etc/modprobe.conf
    • /etc/X11/:与X Window 有关的各种配置文件放在这里,尤其是xorg.conf这个XServer的配置文件。
    • /etc/xinetd.d/: super daemon 管理的各项服务的配置文件目录。
    • /etc/fstab
    • /etc/sysconfig
  • 该目录下重要的目录有:
    • /etc/init.d/: 所有服务的默认启动脚本都是放置在这里的。
      例如启动或关闭iptables命令为:

      /etc/init.d/iptables start  #启动
      /etc/init.d/iptables stop   #关闭
      

/home

系统默认用户的主文件夹,创建账户时会在该目录下自动生成这个用户的主文件夹,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/root

系统管理员主文件夹,一般希望root的主文件夹与根目录放置在同一个分区中。

/lib

lib 是 Library(库) 的缩写,放置的是在系统开机时用到的函数库以及系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。其作用类似于 Windows 里的 DLL 文件,在/bin/sbin下面的命令会调用到的函数库也在/lib内。

/lib/modules/这个目录下放置内核相关的驱动程序。

/media

/media下面放置的是可删除设备。linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mmt

/media功能相似,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt

opt 是 optional(可选) 的缩写,这是给主机额外安装 第三方软件放置目录,比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。

/proc

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

比如查看某个进程的信息:ll /proc/pid

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/run

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

/sbin

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序,/sbin目录下的命令只有root用户能够使用,普通用户只有查询的权限。/sbin下包含开机、修复、还原系统所需要的命令。

至于服务器软件程序命令,一般放置在/usr/sbin/

本机自行安装的第三方软件产生的命令,则放置在/usr/local/sbin/中。

/tmp

一般用户或者正在执行的程序暂时放置文件的地方。这个目录是任何人可以访问的,需要定期清理。

注意: 不可以与根目录分开的目录有:/etc/bin/sbin/dev/lib这五个目录。

/sys

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:

  • 针对进程信息的 proc 文件系统、
  • 针对设备的 devfs 文件系统
  • 针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/selinux

这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/srv

一些网络服务启动之后,这些服务所需要读取数据的目录。常见的服务例如WWW、FTP等,WWW服务需要的网页数据放置在/srv/www/里面。

/usr

用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr下包含的子目录:

  • /usr/lib/: 包含各应用软件的函数库、目标文件以及不被一般用户惯用的执行文件或脚本。注意该文件名也可能为/usr/lib64
  • /usr/bin/: 绝大部分的用户可使用命令放这里,注意与/bin的不同之处(是否与开机过程有关)。
  • /usr/sbin/: 非系统正常运行所需要的系统命令。
  • /usr/src/: 内核源代码默认的放置目录。
  • /usr/local/: 第三方软件安装位置。
  • /usr/share/: 放置共享文件的地方,各种帮助文档目录也在这个下面。
  • /usr/include/:C/C++等程序语言头文件与包含文件放置处,当使用tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用里面的许多文件。
  • /usr/X11R6/ :X Window 系统重要数据防止目录。

/var

存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。

/var下包含的子目录:

  • /var/cache/: 应用程序运行过程产生的一些暂存文件。
  • /var/lib/: 程序本身运行过程中,需要使用到的数据文件放置在这里。
  • /var/lock/: 某些设备或文件资源只能被一个应用程序使用,该文件就是将该文件上锁,以确保单一软件使用。
  • /var/log/: 登录文件放置目录。
  • /var/mail/: 个人邮件信箱目录,不过这个目录也被放置到/var/spool/mail/目录中,这两个目录互为连接文件。
  • /var/run/:某些程序或服务启动后,会将它们的PID放置在该目录下。
  • /var/spool/: 该目录放置一些队列数据。

参考:菜鸟教程
参考:Linux系统下的目录树结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rk平台调试音频(从驱动到apk)

需要实现的功能: 输入:hdmiin、uvc、mic可以实时切换 输出:耳机和HDMI OUT同时输出声音 这里注意:mic是存在hedset情况,4节耳机,即可输出又可输出同时进行 开发情况: 一、先熟悉大致的Andro…

【24】核心易中期刊推荐——图像处理研究大数据及智能处理研究

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

springboot内嵌tomcat文件上传路径不存在问题原因

错误提示: 临时文件目录被删除,导致文件上传报错,我们使用的是linux系统,10天没有使用,就会被删除 代码: 解决办法: 配置文件中自定义临时文件上传目录 server:port: 9090tomcat:basedir: /crm/tmp 特殊情况: 当我上传小文件的时候可以上传成功,大文件的时候上传失败 猜测可…

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、发信息没反应、一直卡在即将重启、查询数据异常等问题

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、数据异常等问题 安装corntab创建shell脚本添加corntab定时任务 原理 定时杀死傻妞进程,并自动重启傻妞 安装corntab Linux crontab是用来定期执行程序的命令。 CentOS安装命令如下 yum -y insta…

【Android -- 开发工具】Source Insight 4.0 安装和使用教程

简介 Source Insight 工具是一款功能强大的代码阅读器,它能使大量的代码产生联系,方便阅读,而且支持各种语言的程序代码。 安装 & 激活 1. 下载 下载地址 直接点击下载即可,我下载的是 4.0 版本。 然后按照步骤安装完成即…

chatGPT给出Python time.sleep()假死(挂起)的解决办法

1. time.sleep()假死(挂起)的原因与解决办法 最近,使用chatGPT帮着写程序,完成通过API获取天气数据的程序,运行起来后出现了状况:莫名其妙的的假死(程序被挂起来,不执行了&#xff…

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构)

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构) 1. 全局查找替换(Ctrl Shift R)2. 全局查找替换版本号3. 全局查找替换模块名4. 修改项目名5. ShiftF6 重命名模块6. ShiftF6 重命名…

Nginx配置使用GeoIP2模块

一、Nginx简介 Nginx(engine x)是一个免费的、开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个…

不废话!CentOS 8 安装docker的详细过程

目录 1.更新系统 2. 安装依赖包 3.添加 Docker YUM 仓库 4.安装 Docker 5.启动 Docker 6.设置 Docker 开机自启 7.测试 Docker 1.更新系统 dnf update 这里直接输入y,耐心等待更新即可 直到看到complete表示更新完毕 2. 安装依赖包 Docker 需要一些依赖包才能正常…

什么是工业互联网?5G到底能在工业互联网中承担哪些重任呢?

一. 从消费互联网到工业互联网 在这个互联网如我们生活中的水和电一样无孔不入的时代,不能联网的设备是可耻的。它们像是一个一个的信息孤岛,原始而静寂。 然而50年前,这样的信息孤岛却是这个世界的常态,直到美国阿帕网的诞生…

运营-7.内容模型

在内容产品生态中,核心就是内容,内容驱使着所有的角色运转。具体而言,在整个生态模型中,内容的链条从上游 到下游的环节如下: PGC(Professionally-generated Content)专业生产内容 传统的门户…

最强无监督单目深度估计Baseline--MonoViT--简介与代码复现

1. 无监督单目深度估计 单目深度估计是指,借助于深度神经网络,从单张输入视图中推理场景的稠密深度信息;该技术可以广泛用于自动驾驶、虚拟现实、增强现实等依赖于三维场景感知理解的领域,同时也可以为其他视觉任务提供多模态深度…

部署simple-chat项目

simple-chat介绍:此项目是基于openAI3.5模型的h5端人工智能聊天项目,无需翻墙即可体验。 simple-chat线上地址:simple-chat simple-chat项目地址:GitHub - AMxiaoming/simple-chat nginx部署前端步骤: https://blo…

Android WebRtc+SRS/ZLM视频通话(1):虚拟机安装Ubuntu

Android WebRtcSRS/ZLM视频通话(1):虚拟机安装Ubuntu 来自奔三人员的焦虑日志 秉着没事找事的原则,这里直接从服务器安装开始说起,也当记录自己这一路以来的愚昧之举,由于没有物理服务器,这里以…

使用七牛云进行上传图片

首先我们需要明确上传图片的注意点是什么&#xff1f; 1、表单组件标签只能用<input type"file"> 2、上传图片必须采用post请求 get:参数通过请求头提交到后台&#xff0c;参数放到url后面来提交的只能向后台提交文本数据或者字符串数据&#xff0c;二进制如以…

基于物联网可移动医疗设备智能监测节能应用研讨

智慧医疗、全民健康一直是社会关注的热点之一。医疗卫生体系的发展水平关系到人民群众的身心健康和社会和谐&#xff0c;智慧医疗旨在通过物联网技术实现准确、实时感知医疗信息&#xff0c;并进行全面、科学分析&#xff0c;作出智慧的决策&#xff0c;从而提升医疗服务的信息…

黄金投资品种有哪些,如何选择黄金品种

黄金是国际性的硬通货&#xff0c;具有世界货币的地位和国际都认可的流通性&#xff0c;在金融投资市场中黄金也一直属于热门产品&#xff0c;是全球都认可的避险保值投资产品&#xff0c;人们不管是想保值还是向投资增值都是不错的选择&#xff0c;但黄金投资市场中产品种类多…

前端基于uniapp[uniPush]实现APP消息推送(安卓、IOS)

前提概述&#xff1a;此文章都是基于uniapp中uniPush2实现的在线、离线推送 app消息推送流程 登录开发者中心先填写好项目信息以及配置厂商在manifest.json文件中勾选推送模块在前端项目中创建云函数&#xff08;此云函数的作用是接受后台发送的消息模板&#xff0c;解析出来…

项目中常见的几种策略模式实现方式

前言 本篇文章主要介绍本人在自己项目中和开源项目中策略模式的实现方式 基于spring实现策略模式 最近在使用nacos-sync同步工具时发现其使用了策略模式&#xff0c;下面主要介绍它是如何使用的 实现步骤 2.1 定义接口&#xff1a;SyncService public interface SyncService …

交叉导轨具体应用在哪些领域?

交叉导轨通过采用缩短了滚柱体的间距的R型滚柱保持器这种独特的滚柱保持机制&#xff0c;使滚柱体的有效接触长度增大&#xff0c;且交叉导轨的安装高度更低&#xff0c;由于是两付导轨平行安装组合成为一套&#xff0c;使得交叉导轨的机台整体性要好于直线导轨&#xff0c;倾覆…