【从零开始的嵌入式生活】必备基础知识,从环境安装开始

请添加图片描述

前言

因为寒假到了。所以我打算在这有限的三十天呢,开个深坑就是这个嵌入式的从零到一的学习笔记,日后会不断的优化。
希望大家可以跟着我一起学习,一起加油!
如果觉得这个文章有用还希望大家交出素质三连呀。

🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人
✨联系方式:2201891280(QQ)
📔源码地址:https://gitee.com/xingleigao/study_qianrushi
全文大约阅读时间: 60min



一、linux的虚拟机安装和使用

因为我们日常的生活还是需要微信qq等常见的软件,但是在ubuntu下这些软件的不太方便,所以建议大家还是先创建一个虚拟机。

【骚操作】利用windows自带的虚拟机安装ubuntu
因为嵌入式学习我觉得完全没必要去用图形界面,所以就研究了一下Windows下的虚拟机,当然如果想要图形化的还是看下面的方式。

VMware虚拟机安装Ubuntu系统步骤详解
因为上面的链接讲解的非常详细了,所以就放出链接,然后按照相关的步骤进行一步步安装完成。

在完成安装后可以打开终端(快捷键ctrl + alt +t)
输入以下命令安装我们常用的编译器gcc 和g++

sudo apt install gcc g++

在这里插入图片描述
当询问是否继续执行的时候输入Y并点击确定。
等待一段时间完成就好了。可以参考下图
在这里插入图片描述

二、文件目录相关命令的记录

在完成ubuntu的安装之后我们要了解一写相应的命令,作为文章的开始,所以就先进行一些基本的文件目录的命令介绍。

1.linux的文件系统

linux下的文件系统经常是树状结构,如下图所示:请添加图片描述
我们需要了解一下基础的文件系统层次结构标准FHS

文件作用
bin二进制的英文缩写,放置可执行文件(eg.gcc、g++、python3)
boot存放系统启动用到的程序
dev包含所有linux系统中使用的外部设备
etc存放系统管理用到的配置文件和子目录
lib存放系统动态链接共享库(回头编译会做介绍)
home普通用户的主目录
root根用户(超级用户)的主目录

然后是一些基础的命令

命令作用
ls显示当前文件目录下的所有文件
pwd显示当前所在的目录
cd前往一个目录 可以使用相对地址(eg. ./xinglei)
man用于查看相关命令的用法(eg.man ls

man命令被我们当时的老师成为linux下自带的一本的说明书,所以非常重要,大家在一些命令不知道怎么用的时候就查一查,看起来会比很多中文资料靠谱多了,举个例子。


2.文件目录操作

下图就是man ls的图,我们可以查看使用方式。在这里插入图片描述
对于ls我们需要了解几个常见的用法

  • ls -l 主要用于显示所有的文件信息
    在这里插入图片描述
  • ls -a 显示所有的文件 包括以.开头的文件(.开头默认隐藏)
    在这里插入图片描述
    ls -R 循环遍历显示所有子目录下所有文件
    在这里插入图片描述
    ls 也可以加文件名等来表示显示某个文件下所有文件
    在这里插入图片描述

接下来我们简单的了解一下常见的文件的权限意义

权限类型对于目录的意义对于其他类型文件的意义
读 ( r )授予读取目录或子目录内容权限授予查看文件的权限
写(w)授予创建、修改或删除文件/子目录的权限授予写入、修改文件的权限
执行(x)授予进入目录的权限郧西用户运行程序

以上主要是对目录的一些操作,接下来主要介绍几个常用的对文件的操作命令

3.文件操作

常用的命令如下

命令作用例子
cat显示文件的内容cat test.c
nl查看文件显示并行号nl test.ccat -b test.c类似
head查看前几行文件head test.c
cp拷贝文件cp test.c test2.c ../文件的时候是cp -r
mv移动文件/重命名 (用法和cp很类似)mv test.c ../
rm删除文件(用法和cp也很类似)rm test.c
touch创建文件touch test3.c
mkdir创建文件夹mkdir test

注:删库跑路就是rm -rf 但是没事千万别加f这种递归删除,真的会出事。慎重慎重慎重~~~
在这里插入图片描述


三、vi编辑器的使用

vi编辑器是Linux下非常常用的编辑器,所以我们需要学习一下基本的用法。
首先我们需要安装一下vi编辑器(ubuntu自带的那个vi算是阉割版,所以我们需要安装一下)

sudo apt install vim

在终端输入这个之后输入密码等待安装完成就好了。
我们需要创建一个文件的时候就可以直接vi 文件名就好

1.vi的三种模式

1. 命令行模式,默认进入的模式在这里插入图片描述

2. 编辑模式(为了进入编辑模式 我们可以用以下几个按键进入)

命令功能
A a(Append)进入编辑模式,并从当前光标位置之后进行插入字符
I i(Insert)进入编辑模式,并从当前光标位置之后进行插入字符,最常用
O o(Open)进入编辑模式,并插入一个新行、光标移动到行首进行插入
ESC推出编辑模式(进入命令模式)
:! Command在命令模式输入命令时使用 编辑模式不起作用!!!

在这里插入图片描述

3. 底行模式(进行保存退出等常见的操作)
命令行模式直接输入:加命令就好了,常见的命令如下:

命令功能
:q(Quit)退出没有修改的文件(若文件被修改了而没有保存,会提示并不执行)
:q!强制退出,且不保存修改过的部分
:w(Write)保存文件,但不退出
:x(Exit)保存文件并退出
:w File另存为FIle给出的文件名 不退出
:r File(Read)读入File指定的文件内容插入到光标位置

注::wq可以结合标识保存并退出,等价于:x
在这里插入图片描述


这部分有很多命令可能有些无聊,其实如果在终端里敲一敲的话就会好很多,一定要动手呀0.0

4.拷贝粘贴
这个功能只能在命令模式使用,常用的操作如下

命令功能
[N]x(Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)不太常用
[N]dd(Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)其实就是剪切
[N]yy(Yank)复制从光标位置开始的连续N行到编辑缓冲区
p/P(Put)从编辑缓冲区复制文本到当前光标位置(即粘贴)其中小写在下一行 大写在前面
u(Undo)取消上一次操作 (类似于平时使用的ctrl+z)

3dd在这里插入图片描述
p
在这里插入图片描述
最后给一张图作为vi的三种模式的总结:
请添加图片描述

2.vi的高级操作

这一部分会介绍一些常用的vi的命令可以提高我们写代码的效率

1.光标命令
这一部分都是很多无聊的键位,看起来很繁杂,其实多动手试一试就好很多。

命令功能
h方向键,向左移动光标一个字符的位置,相当于键
j方向键,向下移动光标到下一行的位置,相当于键
k方向键,向上移动光标到上一行的位置,相当于键
l方向键,向右移动光标一个字符的位置,相当于键
:N移动光标到第N行(N待定)
1G移动光标到文件的第1行
G移动光标到文件的最后一行
:set number显示行号 可以简写为set nu
:set nonumber不显示行号

在这里插入图片描述

2.查找与替换
/string 查找字符串

  • n 继续查找
  • N 反向继续查找
  • 支持正则表达式比如:/^the /end$

利用:s 命令可以实现字符串的替换。

  • :s/str1/str2/
  • :s/str1/str2/g
  • :.,$ s/str1/str2/g g全部替换(默认换第1个)
  • :1,$ s/str1/str2/g
  • :%s/str1/str2/g
    在这里插入图片描述

3.vi复制和剪切命令

  • y0-将光标至行首的字符拷入剪贴板
  • y$-将光标至行尾的字符拷入剪贴板
  • d0-将光标至行首的字符剪切入剪贴板
  • d$-将光标至行尾的字符剪切入剪贴板
  • range y-块复制 (可以使用1代表开头 .代表当前行 $代表文件末尾)
  • range d-块剪切
    在这里插入图片描述

写在最后

墨迹了三天终于发出来了第一篇文章,也代表着开了第二个坑,这个寒假主要的目的就是两个,一个就是这个系列用于提高我专业相关的知识点,希望有对这方面有兴趣的同学们能跟着我的文章一起进行学习。
第一天的知识点充满了大量的命令,对新手有些不友好,大家有个大概的印象就好,在接下来的生活中会逐步的利用这些命令来提高我们的编程能力,希望我能不断的去更新这个系列的文章。


第二个我在更新的就是算法笔记的一些例题笔记,这个系列是用于提高我的算法能力,如果有兴趣对算法领域感兴趣找不到合适的入门文章也可以追更,如果我更新的太慢了请大家点赞收藏,一键三连才能更有更新的动力呀0.0

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XingleiGao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值