【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第十四章 Linux 目录结构讲解

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等


第十四章 Linux 目录结构讲解

本章内容对应视频讲解链接(在线观看):https://www.bilibili.com/video/BV1M7411m7wT?p=16

因为 linux 文件系统对文件的管理主要包括两个方面,第一个方面是文件的本身,第二个就是目录管理。

我们从目录管理入手,会更直观的理解 linux 的目录结构。

14.1 linux目录结构

Linux 整个文件系统是以" / "目录开始,根目录是最顶层,前面讲根目录和家目录概念的时候已经提到了。它下边包括众多的目录,这些目录又称为子目录,子目录下边又包含更多的目录,它形成了一个像树一样的结构,大家可以把它想像成一个倒挂的树,就是从树根开始往下,它的枝叶是一支一支的,就好比我们的树根。

Linux 整个文件系统是以"/"目录开始,在 linux 中是没有 C盘 D盘 E盘 这个概念的。我们打开 ubuntu 看下类似于树的形状的一个结构。

我们打开文件管理,从最顶层开始,点击 computer ,这就是我们 ubuntu 的最顶层,左上角有一个 "/" ,"/" 就是根目录,在这个目录下,我们可以进到下边任意一个子目录,比如说作者点击 home 这个文件夹,然后再点击 topeet 这个文件夹,下边有很多的子文件夹,这些子文件夹就好比大树的枝干,一层一层的往下延伸。

这个结构是虚拟出来的,没有任何的限制,他只是一个虚拟的概念。所以说从理论上来讲,linux目录结构可以是随意安排的,就是说我想往哪延伸就往哪延伸,没有任何的限制,但是如果我们所有的人都这样做,不同的人想法不同,那么我们很容易就出现混乱了。

14.2 linux文件层次标准

为了解决不同的开发人员之间不统一的问题,研究出层次标准,也就是文件层次标准,简称 FHS ,全称 filesystem hierarch standard

FHS 定义了两层规范:第一层是 / 目录下面文件夹要存放什么文件,比如说 /etc 下面就应该放配置文件, bin 或sbin 下边就应该放可执行文件。第二层规范是针对 linux 下 /usr 和 /var 这两个目录的子目录来定义的。比如 /usr/share 下面就应该放共享数据文件,

FHS 仅仅给出了最上层顶目录以及子层 /usr 和 share 要存放的数据,我们在其他的子目录层,我们就可以随意的来配置了,

14.3 linux 根目录下

FHS对linux根文件系统的基本目录都做了一些比较详细的规定,比如说哪些文件夹要放置哪些文件。

作者现在进到了ubuntu的根目录下,各个文件的规定如下:

bin: 系统启动时需要的可执行命令,大部分普通用户只有可执行权限没有读写权限,只有root用户有读写权限,

boot: 用来存放BootLoader相关文件,千万不要乱动,否则无法进入系统。

cdrom: 光盘目录

dev : 设备驱动文件夹

etc : 系统配置文件夹,这个文件夹的权限很高,只有root用户才可以修改这个文件夹

home: 家目录,普通用户都有一个以自己名字命名的文件夹存放在这个目录里面,

lib: 各种程序所需要的库文件和系统可以正常运行的支持文件都存放在这个文件夹里面

lib64: 64位支持库

media: 用来存放媒体信息的文件

mnt: 可以把设备挂载在这个文件夹下,比如U盘,

opt: 可以用来存放第三方文件

proc: 用来存放系统信息和进程信息

root: root 用户的家目录

run: 保存了系统从最开始到现在的系统信息

sbin: 存放系统管理员的可执行命令,里面也是二进制文件

snap: snap 应用程序框架的程序文件

srv: 用来存放系统存储服务相关数据

sys: 系统的设备和文件层次信息

temp: 存放临时文件

usr: 存放和用户有关的文件

var: 存放一直在变化的文件

这个就是在 FHS 规范的建议下, linux 根目录下各个文件的规定。尽管 FHS 这个不是强制的标准,但是作为一个开发人员,我们还是要遵守这个标准的,比如说后面我自己定义了一个命令,就要把这个命令放到 bin 文件下,不然别人接手你的项目就容易出现混乱。

相关推荐
weixin_452600698 分钟前
【青牛科技】电流模式PWM控制器系列--D4870
科技·单片机·嵌入式硬件·音视频·智能电表·白色家电电源·机顶盒电源
嵌新程3 小时前
day06(单片机高级)PCB设计
单片机·嵌入式硬件·pcb
stm 学习ing4 小时前
FPGA 第十讲 避免latch的产生
c语言·开发语言·单片机·嵌入式硬件·fpga开发·fpga
wenchm8 小时前
细说STM32单片机DMA中断收发RTC实时时间并改善其鲁棒性的另一种方法
stm32·单片机·嵌入式硬件
编码追梦人9 小时前
如何实现单片机的安全启动和安全固件更新
单片机
电子工程师UP学堂9 小时前
电子应用设计方案-16:智能闹钟系统方案设计
单片机·嵌入式硬件
飞凌嵌入式9 小时前
飞凌嵌入式T113-i开发板RISC-V核的实时应用方案
人工智能·嵌入式硬件·嵌入式·risc-v·飞凌嵌入式
blessing。。11 小时前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
嵌新程12 小时前
day03(单片机高级)RTOS
stm32·单片机·嵌入式硬件·freertos·rtos·u575
Lin20123012 小时前
STM32 Keil5 attribute 关键字的用法
stm32·单片机·嵌入式硬件