【嵌入式修炼之路】-Linux基础之目录结构

Adelaide ·
更新时间:2024-11-10
· 582 次阅读

学益得线上课堂
从基础学习嵌入式
玩转智能硬件、斩获高薪offer

Linux和Windows一样,都有分区这个说法,只不过在Windows下面,我们能明确的看到不同的盘符,Linux里面虽然存在,但是看不到。

根目录

目录是一种很形象的树形结构,每个目录下面都有很多文件、文件夹,可以理解为树枝。如果沿着树枝一直往下寻找的话,最终会找到树根。目录也是一样,如果不停的往上翻(退出目录),最终会退到最上层的目录,我们把这个目录称为【根目录】,在Linux里面用【/】表示。

可以理解成是下面的结构:

在这里插入图片描述

各目录作用

在这里插入图片描述
Linux根目录下有很多文件夹,每个文件夹都承担着不同的角色。当然不同的开发环境根目录看到的内容会有所不同,有些文件夹是必须存在,如果不存在可能会影响系统的正常启动。

bin

bin目录是binary的缩写,存放系统的可执行文件。何为可执行文件?大家应该知道,写好C代码是不能正常运行的,需要编译,把文本文件编译成二进制文件,电脑才会识别运行,我们把二进制文件也称为可执行文件。在Linux里面有很多的命令,比如cd ls cp mv等等,这些命令其实也是别人写好的代码,编译成二进制文件,然后放在Linux的bin目录下,于是他们就成了系统命令。通俗点理解, bin目录存放系统常用命令。

boot

非常重要的目录,虽然平时用不到,但是如果丢失的话,系统就无法启动了。 boot目录存放着开机需要的各种文件,包括内核配置文件、开机菜单等等。

dev

device的缩写, 存放设备文件。Linux里面一切皆文件,它把硬件设备也抽象成了文件,称为设备文件。可以这么理解,如果我们在电脑上插了一个U盘,就会在Linux的dev目录下看到一个有USB字样的文件,这个文件就对应U盘,读写这个文件,就相当于读写U盘。

etc

etc不是哪个英文单词的缩写,非要翻译的话,可以翻译成【等等】,其实就是存放Linux下面零零碎碎的东西。我们现在一般把它理解成 存放系统配置文件。

里面存放的内容非常多,比如开机启动时候要读取系统的配置文件,或者我们后面会接触到的编辑器vim的配置都在这个目录下面。

home

这个名字很形象了,就是【家】的意思。Linux作为多用户的操作系统,可以创建很多用户。以Redhat为例,每创建一个用户的时候,都会在home目录下生成一个和用户名同名的文件夹,这个文件夹就是创建的用户的【家目录】。后面写代码的时候,完全可以把代码放在home目录下。

lib或者lib64

32位操作系统,一般只有lib目录,64位操作系统,两个都有。lib是library的缩写,翻译成图书馆就不妥当了。 存放系统的库文件。 库怎么理解?比如C语言里面最常用的一个函数printf,那么它是怎么实现的呢?当然是别人一行代码一行代码写出来的,写好之后编译成二进制文件我们就可以直接在代码里面使用printf了。当然实现printf的C库不一定放在了lib目录下,只是举个例子。它也可能放在/usr/lib目录下。

mnt

mount的缩写,不多介绍,这个目录作为挂载点使用。【挂载??作为初学者,可以先不去研究它。】

opt

存放用户安装的第三方软件。

proc

proc是一个伪文件系统,存在于内存中,可以查看进程信息、修改内核某些参数。对于初学者,可以有点基础后再来研究它。

root

root用户的家目录。

sbin

可以理解成是【super binary】,跟上面提到的bin目录有点类似,只不过这个目录存放的是只有root用户才能使用的命令。比如一些级别比较高的reboot、mount等等,这些命令普通用户不能使用,也相当于是对操作系统的一种保护。

sys

类似于proc的一种特殊文件系统, 可以访问内核或者驱动设备的信息。 不搞驱动的话,基本上是用不着了。

usr

usr就是user的缩写,存放的是用户安装的软件。跟opt的区别,opt侧重于工具、大型软件,usr一般都是用户安装的第三方库。usr下面还分为bin、sbin、lib、include、local等等。举个例子,比如我们安装了一个数据库sqlite3,sqlite3本身是一个命令,所以它以文件的形式存放在/usr/bin目录下。sqlite3还支持C语言编程,编程的话就需要库和头文件,库放在了/usr/lib目录下,头文件放在了/usr/include目录下。当然sqlite3还可能会有些说明文档,这些文件可以放在/usr/local目录下。

以上就是一些常见目录的作用。最为初学者很难理解,可以先记忆,有点基础后,再回来看看,可能就会恍然大悟。

更多文章、视频、嵌入式学习资源,微信关注 【学益得智能硬件】

在这里插入图片描述


作者:学益得智能硬件



Linux 嵌入 嵌入式 linux基础

需要 登录 后方可回复, 如果你还没有账号请 注册新账号