嵌入式全栈开发学习笔记---Linux目录结构

目录

入门级的概念

什么是虚拟机和虚拟机镜像?

Linux和Windows的最大区别是什么?

Linux目录结构

[root@xyd-edu ~]#

入门级的两个命令

ls(显示出当前目录下的文件或目录)

cd  /(进入根目录)

根目录下的必须目录

bin(存放普通命令)

sbin(存放root用户才能使用的命令)

dev(存放硬件设备文件)

etc(存放零散/配置的文件)

home(普通用户的家目录)

root(root用户的家目录)

lib(存放库文件)

proc(存放操作系统的相关信息)

sys(可以读取内核驱动相关信息)

usr(存放用户安装的软件包)


声明:我是用虚拟机学习的Linux,所以本专栏的所有笔记都是基于虚拟机环境下,如果你使用的是其他环境,可能有些情况有点出入。

入门级的概念

在正式学习之前我们来了解几个入门级的概念:

什么是虚拟机和虚拟机镜像?

通俗来讲,虚拟机就相当于虚拟出一台电脑,然后镜像就相当于是一台虚拟的电脑上面安装一个操作系统。

因此我们的学习工具准备链接中提供了两个文件,一个是虚拟机安装包,一个是虚拟机镜像(里面有Linux操作系统文件)。在安装好虚拟机后,在虚拟机上打开虚拟机镜像中的一个Linux操作系统相关的文件就能使用Linux终端了。

Linux和Windows的最大区别是什么?

Windows在图形界面这块做的比较人性化,而且用户使用起来比较方便,用户只需要通过鼠标根据目的选择目标目录或者文件夹,双击即可进入下一级文件夹或者目录,创建文件或者文件夹也比较方便,因为用户可以看见自己所操作的文件或者文件夹。

当然,如果你使用虚拟机来操作Linux系统的话,它也有这种图形界面。但是很多Linux是没有这种图形界面给你操作的,比如你使用的是云服务器的话,它只是提供了一个简单的终端,在终端编辑器中打印出来一些东西给你看,只是以一种文字的形式告诉你某个目录下有什么文件夹,而不是以图形的显示给你看。如下图,当我们输入ls命令的时候,它就会把这个目录下的所有文件夹的名字给你打印罗列出来给你。

因此,我们就有必要学会如何在Linux终端使用这个有趣的操作系统。

我们主要通过掌握一些基本的命令去操作它!

我们准备好学习环境后,进入虚拟机,我们在虚拟机的桌面右击打开终端就会弹出一个窗口

Linux目录结构

我们先来认识一下Linux目录结构

先解释这行:

[root@xyd-edu ~]#

“root ” 这个是用户名,就是你登录这台服务器用的是哪个用户登录的,这里我用的是root来登录

“@” 后面的这个是主机名(主机名可以随便改)

“~”是个路径(就是你当前所在的目录是什么样子的) “~ ”一般表示家目录

“#”后面可以输入命令

入门级的两个命令

ls(显示出当前目录下的文件或目录)

我们要学的第一个命令是“ls”,敲完ls按回车后就显示出当前目录下有哪些东西

cd  /(进入根目录)

第二个命“cd[空格]/”(每次敲完命令都要按回车)

这个时候我们就已经进入了根目录

什么叫根目录呢?

我们类比一下Windows系统中的C盘,D盘,E盘,当我们进入D盘时,进去看到的这些文件夹都可以看成是根目录

此时我们随便点击进去一个根目录就又出现很多的目录

所以我们可以理解为最上层的目录就是根目录

这个“/”表示的就是我们正在根目录

我们再输入ls看看根目录底下有什么

我们可以看到显示了很多文件夹

根目录下的必须目录

在这么多文件中,哪些是必须要有的呢?分别存放的是什么呢?

以下文件是必须的:

bin(存放普通命令)

binary的缩写,存放可执行文件(即普通的系统命令)。

解释:我们学过C语言的都知道C语言写出来的程序是不能够直接运行的,源码必要经过编译变成二进制文件(也叫可执行文件),程序才可以运行。

那么我们刚刚的“cd[空格]/”和“ls”这些命令是从哪里来的呢?一定是有一些人最开始用很多代码写出来的,然后将它编译成一个二进制文件存放在这个bin文件夹中,我们就可以直接调用这些命令。

那又为什么叫做普通的命令呢?因为命令也分级别。比如这个“cd[空格]/”和“ls”命令就是可以被所有用户使用的命令。Linux是个多用户的操作系统,root就是其中一个用户,你自己也可以建立一些普通用户登录进去,比如什么test用户(名字随便取)。而这个root是最高权限的用户,它相当于Windows系统中的管理员,如果你再添加其他用户的话都是普通用户。普通用户的权限肯定没有root高。所以有一些命令只能给root用,不能让普通用户用。比如Reboot:重启命令(放在sbin里面),不能被普通用户使用,只能被root用户使用。权限比较高的命令都放sbin目录中

sbin(存放root用户才能使用的命令)

super binary的缩写,超级二进制,存放root用户(即管理员)才能使用的命令

dev(存放硬件设备文件)

device的缩写,存放设备文件(一个设备文件对应一个硬件设备)

解释:比如你现在往电脑中插了一个U盘,在Windows系统中,这里就会显示一个可移动磁盘给你。

同样,如果你往Linux系统中插入一个U盘,它就会在dev目录下来生成一个叫做XXUSB文件给你,而你操作这个XXUSB文件就相当于操作这个U盘,这就是所谓的设备文件。

Linux中有个哲学就是“一切皆文件”,就是硬件设备也被当做了文件来处理。

etc(存放零散/配置的文件)

法语et cetera,翻译成中文等等,即存放零零散散的东西。一般该目录下存放系统的配置文件,比如开机启动项;比如我们后面会配置什么定时器之类的就要到这个目录下面。

home(普通用户的家目录)

家目录,Linux每个普通用户都有一个专属目录,这个专属目录一般存放在home目录下(有些系统不一定)

解释:比如在Windows系统中可以有很多用户

每当你要新建一个用户的时候,都会在C盘都会新建一个同名的目录,创建的这个目录就是用户的家目录。

同样如果你在Linux中创建新用户的时候,就是在home目录先创建新用户。而新用户只能在这个新文件夹中自由活动,在其他文件夹在可能会出现权限的问题。比如新用户要创建文件,就只能在自己所在的家目录中创建。

我们后面写代码也是在这个home目录写代码就可以了。把我们写的代码都放在一起,不要乱放。

root(root用户的家目录)

root用户的家目录(注意刚刚home目录是存放普通用户的家目录,而这个root目录是root用户单独使用的家目录,因为它的权限最大)

lib(存放库文件)

library的缩写,存放系统用到的库文件。

如果你学过C语言就知道有个函数叫做printf,它是怎么来的呢?它一定是别人已经写好的一个函数,它被放在了C库里面,你可以直接调用。

注意:如果有lib32,lib64,libx32这些也是必须的,他们主要是用来区分32位和64位的系统。

proc(存放操作系统的相关信息)

process的缩写,存放操作系统的相关信息,比如可以通过proc读取进程的信息

sys(可以读取内核驱动相关信息)

system的缩写,通过sys目录,可以读取内核驱动相关信息

注意:如果我们只是做应用层开发的话,proc和sys这两个目录其实用不着。

usr(存放用户安装的软件包)

Unix System Resource的缩写,即unix 系统资源,存放用户安装的软件包。

比如你在Windows系统安装什么软件的话,一般是放在C盘里面。同样如果你在Linux系统中安装一个软件或者安装一个库什么的基本都放在usr下面。

以上就是必须的目录,其他目录基本是可有可无的。

如有问题可评论区或者私信留言,如果想要进交流群请私信!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vera工程师养成记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值