1-4 Linux 标准目录结构FHS

news2025/1/12 3:55:36

文章目录

  • 前言
  • 标准目录结构
  • / (根目录)
  • /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就是应用系统的存储目录。



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

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

相关文章

【VC】【全局修改windows系统环境变量】 实现和原理详解

文章目录导读开发环境实现通过procexp打开1836进程的环境变量列表修改注册表(手动/编码实现)广播WM_SETTINGCHANGE消息再次通过procexp打开1836进程的环境变量列表也可以通过《系统属性 > 环境变量》来查看是否生效文章小结参考资料导读 一直都很好奇…

[附源码]java毕业设计水果商城

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

十三、Mysql的存储引擎

Mysql的存储引擎十三、Mysql的存储引擎一、什么是存储引擎二、存储引擎的常见功能三、存储引擎的种类及特性对比1、存储引擎的种类2、常见存储引擎的特性对比3、查看存储引擎四、InnoDB存储引擎1、InnoDB存储引擎介绍2、InnoDB存储引擎的优点3、InnoDB与MyISAM的区别4、存储引擎…

PTA题目 三天打鱼两天晒网

中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”? 输入格式: 输入在一行中给出一个不超过1000的正整数N。 输出格式: 在一行中输…

【网页设计】基于HTML在线图书商城购物项目设计与实现

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目 | HTML期末大学生网页设计作业,Web大学生网页 HTML&a…

java面试强基(6)

面向对象三大特征了解吗? 封装 ​封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。如果属性不想被外界访问,我们…

【滤波跟踪】基于扩展卡尔曼滤波的无人机路径跟踪附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Linux基础8 - 网络配置

Linux基础8 - 网络配置 一、网络连接的三种方式 Vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。 1、桥接模式…

[每周一更]-(第21期):什么是RPC?

RPC,也就是远程过程调用,是分布式系统中不同节点调用的方式(进程间通信),属于 C/S 模式。RPC 由客户端发起,调用服务端的方法进行通信,然后服务端把结果返回给客户端。 RPC的核心有两个&#x…

商品推荐系统实战:基于AFM推荐算法的推荐系统实现 代码+数据

例知识点 推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)准确的预测出用户未来的行为;好的推荐系统不仅如此,而且能够拓展用户的视野,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的用户。AFM推荐算法概…

Spring Boot官方推荐的Docker镜像编译方式-分层jar包

目录参考一、普通Dockerfile的缺点二、Docker分层三、Spring Boot分层四、实践核心理论新建demo工程pom.xml测试代码编写Dockerfile我们在项目根目录执行打包命令发布docker镜像修改代码重新发布docker参考 Spring Boot官方推荐的Docker镜像编译方式-分层jar包 Spring Boot la…

Windows11安装Maven

Windows11安装Maven官网下载压缩包:https://maven.apache.org/download.cgi 解压到任意盘 配置环境变量 3.1 右击我的电脑,选择属性 3.2 选择高级系统设置 3.3 选择环境变量 3.4 在系统变量中单击新建 3.5 新建 MAVEN_HOME 变量,然后…

四十四、​Fluent 收敛标准-质量和能量守恒

1. Fluent质量和能量守恒 Fluent收敛性的判断有时候很让人头疼,我们在三十二、Fluent收敛判断标准及方法中概括的讲述过几种收敛标准。 通常我们判断是否收敛最直接的就是看残差曲线,但是很多时候,残差曲线(尤其连续性曲线&#x…

web前端期末大作业 html+css古诗词主题网页设计

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 茶文化网站 | 中华传统文化题材 | 京剧文化水墨风书画 | 中国民间年画文化艺术网站 | 等网站的设计与制作 | HTML期末大学生网页设计作业,…

Linux从入门到入土③(GCC、静态与动态链接库、Git、Make、Makefile)

文章目录编译工具GCCGCC基本语法GCC编译流程预处理阶段编译阶段汇编阶段链接阶段GCC常用参数总结多文件编译静态与动态链接库Linux库的创建与使用静态库与动态库的区别静态库的制作与使用动态库的制作与使用解决动态库无法加载问题库的工作原理动态链接器解决方案静态库和动态库…

[附源码]java毕业设计日常饮食健康推荐平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【快速掌握Docker】Docker高级运用汇总--Dockerfile、Docker Compose与Docker Swarm使用

一、Dockerfile的构建 1、指定镜像 采用FROM指令: FROM 指定镜像名称2、设置标签信息 对镜像进行备注说明: LABEL manager"admin" \ label1"docker build1" \ lable2"docker build2"3、运行命令 容器运行后&#xf…

跟艾文学编程《Python基础》(6)numpy数值计算

作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,公司资深算法专家,现就职BAT一线大厂。 邮箱: 1121025745qq.com 博客:https://wenjie.blog.csdn.net/ 内容:跟艾文学编程《Pyt…

java学习之包

包的引入 举例:小明和小强都想给自己定义的类命名为Dog(在同一个文件夹下不能有同名的类),包可以解决这个问题 包的作用 1.区分相同名字的类:可以把Dog类放在不同的包 2.当类很多的时候,可以很好的管理…

人工智能在医疗保健服务演变中的作用越来越大

人工智能正被应用于医疗保健服务中,使用的更多技术,从物联网和大数据到聊天机器人。然而,人工智能将破坏医疗保健的主要案例,是计算机辅助诊断。研究综述。 医疗保健提供者和支付方都在进行数字化转型。研究显示,现在…