前言
因为寒假到了。所以我打算在这有限的三十天呢,开个深坑就是这个嵌入式的从零到一的学习笔记,日后会不断的优化。 希望大家可以跟着我一起学习,一起加油! 如果觉得这个文章有用还希望大家交出素质三连呀。
🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人 ?联系方式:2201891280(QQ) 📔源码地址:https://gitee.com/xingleigao/study_qianrushi ?全文大约阅读时间: 60min
一、linux的虚拟机安装和使用
因为我们日常的生活还是需要微信qq等常见的软件,但是在ubuntu下这些软件的不太方便,所以建议大家还是先创建一个虚拟机。
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.c 与cat -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
|