Linux 操作系统_第三章
2021/10/15 7:14:25
本文主要是介绍Linux 操作系统_第三章,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第3章 嵌入式 Linux 程序设计基础
3.1 Linux 系统下的开发环境以及常用工具介绍
3.1.1 Linux 编程
Linux 程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。
例如编程时,先用普通的编程语言生成一系列指令,这些指令可被翻译为适当的可执行应用程序的二进制代码。这个翻译过程可由解释器一步步来完成,或者也可以立即由编译器明确地完成。shell 编程语言如 BASH、TCSH、GAWK、Perl、Tcl 和 Tk 都利用自己的解释器。用这些语言编制的程序尽管是应用程序文件,但可以直接运行。编译器则不同,它将生成一个独立的二进制代码文件然后才可以运行。
3.1.2 GNU 风格
基于GNU开放源代码方面的要求:
- 在任何情况下都不要引用有版权的源代码。
- 善意接受别人给您的程序添加的代码,但请记住检查其合法性,即是否也是 GNU 的。
- 编写日志文件(Changelog),这将使您的代码更容易维护。
GNU 编写代码时应遵循这些基本要求:
- 函数返回类型说明和函数名分两行放置,函数起始字符和函数开头的左花括号放到最左边,避免把任何其他的左花括号、左括号或者左方括号放到最左边。
- 尽力避免让两个不同优先级的操作符出现在相同的对齐方式中,应该附加额外的括号使得代码缩进可以表示出嵌套。
- 每个程序都应该有一段简短地说明其功能的注释开头。例如:
fmt-filter for simplefilling of text.
- 请为每个函数书写注释,以说明函数做了些什么,需要哪些种类的参数,参数可能的值的含义以及用途。如果用了非常见的、非标准的东西,或者可能导致函数不能工作的任何可能的值,应该进行特殊说明。如果存在重要的返回值,也需要说明。
- 不要在声明多个变量时跨行,在每一行中都以一个新的声明开头。
- 当在一个 if 语句中嵌套了另一个 if-else 语句时,应用花括号把 if-else 括起来。
- 要在同一个声明中同时说明结构标识和变量,或者结构标识和类型定义(typedef)。先定义变量,再使用。
- 尽力避免在 if 的条件中进行赋值。
- 请在名字中使用下划线以分隔单词,尽量使用小写;把大写字母留给宏和枚举常量,以及根据统一的惯例使用的前缀。例如,应该使用类似 ignore_space_change_flag 的名字,不要使用类似 iCantReadThis 的名字。
- 命令一个命令行选项时,给出的变量应该在选项含义的说明之后,而不是选项字符之后。
3.1.3 Linux 内核编程风格
- Linux 内核缩进风格是 8 个字符。
- Linux 内核风格采用 K&R 标准,内核将开始的大括号放在一行的最后,而将结束大括号放在一行的第一位。
- 变量命名尽量使用简短的名字。但是命名全局变量就应该用描述性命名方式,例如
count_active_users()
,而不是cntusr()
。本地变量应该避免过长。 - 函数最好短小精悍,一个函数最好只作一件事情。
- 注释。注释说明代码的动能,而不是说明其实现原理。
3.2 嵌入式 Linux 编辑器 vim
3.2.1 下载 vim
1.安装 vim
sudo apt-get install vim
2.安装 ctags
sudo apt-get install ctags
3.配置 vim
- step1:将 vim_configure 拷入当前用户的目录下,使用 samba 或共享文件夹完成
- step2:打开终端,执行以下以下命令:
cd vim_configure ./copy_con.sh
3.2.2 vi 的三种模式
1.命令模式(尾行模式)
在一般模式当中,输入“:, /”,三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你搜寻资料的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作都是在此模式中达成的。
2.编辑模式
编辑模式可以对内容进行编辑,在一般指令模式下按下“i,I,o,O,a,A,r,R”等任何一个字母之后即可进入编辑模式。如果要回到一般指令模式时,则必须要按下 Esc 这个按键即可退出编辑模式。
3.一般指令模式
以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模式中,可以使用上下左右按键来移动光标,可以使用删除字符或删除整行来处理文件内容,也可使用复制、粘贴来处理文件数据。
4.模式切换
(1)由编辑模式或者命令模式进入一般指令模式方法是按 ESC 键;
(2)由一般指令模式进入命令模式按 shift;
(3)由一般指令模式进入编辑模式按“a,i,o ”;
(4)编辑模式和命令模式不能直接切换。
3.2.3 插入指令
按键 | 功能 |
---|---|
i | 光标位置当前处插入文字 |
I | 光标所在行首插入文字 |
o(字母) | 光标下一行插入文字(新行) |
O(字母) | 光标上一行插入文字(新行) |
a | 光标位置右边插入文字 |
A | 光标所在行尾插入文字 |
s | 删除光标后边的字符,从光标当前位置插入 |
S | 删除光标所在当前行,从行首插入 |
3.2.4 保存退出指令
按键 | 功能 |
---|---|
:wq | 保存退出 |
:x(小写) | 保存退出 |
:w filename | 保存到指定文件 |
:q | 退出,如果文件修改但没有保存,会提示无法退出 |
:q! | 退出,不保存(对于忘加权限的文件,可以使用这种方式退出) |
3.2.5 删除指令
按键 | 功能 |
---|---|
[n]x | 删除光标后 n 个字符 |
[n]X | 删除光标前 n 个字符 |
D | 删除光标所在开始到此行尾的字符 |
[n]dd | 删除从当前行开始的 n 行(准确来讲,是剪切,剪切不粘贴即为删除) |
dG | 删除光标所在开始到文件尾的所有字符 |
dw | 删除光标开始位置的字,包含光标所在字符 |
d0(0 为数字) | 删除光标前本行所有内容,不包含光标所在字符 |
dgg | 删除光标所在开始到文件首行第一个字符开始的所有字符 |
3.2.6 撤销
按键 | 功能 |
---|---|
.(点) | 执行上一次操作 |
u | 撤销前一个命令 |
ctrl+r | 反:撤销 |
100 + . | 执行上一次操作100次 |
3.2.7 复制粘贴
按键 | 功能 |
---|---|
[n]yy | 复制从当前行开始的 n 行 |
p | 把粘贴板上的内容插入到当前行 |
3.2.8 移动光标
按键 | 功能 |
---|---|
Ctrl + f | 向前滚动一个屏幕 |
Ctrl + b | 向后滚动一个屏幕 |
gg | 到文件第一行行首 |
G(大写) | 到文件最后一行行首,G 必须为大写 |
mG或mgg | 到指定行,m 为目标行数 |
0(数字) | 光标移到到行首(第一个字符位置) |
$ | 光标移到到行尾 |
l(小写L) | 向右移动光标 |
h | 向左移动光标 |
k | 向上移动光标 |
j | 向下移动光标 |
^ | 光标移到到行首(第一个有效字符位置) |
3.2.9 查找
按键 | 功能 |
---|---|
/字符串 | 从当前光标位置向下查找(n,N 查找内容切换) |
?字符串 | 从当前光标位置向上查找(n,N 查找内容切换) |
3.2.10 选中
按键 | 功能 |
---|---|
Shift + v | 按字符移动,选中文本,可配合 h、j、k、l 选择内容,使用 d 删除,使用 y 复制 |
v | 行选(以行为单位)选中文本,可配合 h、j、k、l 选择内容,使用 d 删除,使用 y 复制 |
Ctrl + v | 列选 选中文本,可配合 h、j、k、l 选择内容,使用 d 删除,使用 y 复制 |
3.2.11 替换
按键 | 功能 |
---|---|
这篇关于Linux 操作系统_第三章的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结