01 基础知识
1、Git 的使用
Git 在工作中被广泛应用,是每个开发者必须掌握的核心技能。希望这份PDF教程能帮助您快速上手,并鼓励您创建一个个人的GitHub仓库来实践和展示您的项目。
下面 git 常用命令,应对 90% 以上工作需求:
git clone //从服务器拉取代码
git config //配置开发者用户名和邮箱
git branch //创建、重命名、查看、删除项目分支
git checkout //切换分支
git status //查看文件变动状态
git pull //将服务器上的最新代码拉取到本地
git add //添加文件变动到暂存区
git commit //提交文件变动到版本库
git push //将本地的代码改动推送到服务器
git diff //看工作区与暂存区的区别
git log //查看版本提交记录
git tag //为项目标记里程碑
git revert
git reset
.gitignore //设置哪些内容不需要推送到服务器,这是一个配置文件
代码解读
Git 在本教程中非强制,可以放在后面学习。只不过 git 在工作中常用。
2、Vim 的使用
大多数工程师通常不常用vim编程工具。
仅用于调整一些系统配置参数。
学习起来相对容易。
参考菜鸟教程:
https://www.runoob.com/linux/linux-vim.html
代码解读
如果你熟悉 vim,在网络上搜索一套实用的配置文件时,“界面也会非常漂亮”。通常会认为 vi/vim 主要分为三个工作状态:命令行状态、编辑状态和批量处理状态。
i -- 切换到输入模式,在光标当前位置开始输入文本。
x -- 删除当前光标所在处的字符。
: -- 切换到底线命令模式,以在最底一行输入命令。
a -- 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O -- 在当前行的上方插入一个新行,并进入插入模式。
dd -- 剪切当前行。
yy -- 复制当前行。
p(小写) -- 粘贴剪贴板内容到光标下方。
P(大写)-- 粘贴剪贴板内容到光标上方。
u -- 撤销上一次操作。
Ctrl + r -- 重做上一次撤销的操作。
:w -- 保存文件。
:q -- 退出 Vim 编辑器。
:q! -- 强制退出Vim 编辑器,不保存修改。
代码解读
Vim 快捷键

3、开发环境搭建
Ubuntu 虚拟机太大,大家在百度网盘获取。
请参考以下资源获取所需材料:https://pan.baidu.com/s/1inZtndgN-L3aVfoch2-sKA(提取码:m65i),其中包含 Ubuntu 虚拟机及基础教学。
烧录固件参考《01【正点原子】I.MX6U用户快速体验V2.6.pdf》的 2.2 章节。
第2部分:韦东山
制作固件时可遵循《01_嵌入式 Linux 应用开发完全手册 V5.1_IMX6ULL_Pro 开发板.pdf》中第七章的内容。
4、Source insight
采用源代码形式的软件系统(即Source insight)目前无法获取。可以通过合法途径获取破解版本。
支持源代码的两个主要版本(3.5和4.0)。在大型项目中进行函数转换操作较为便捷,并且功能名称在转换过程中会特别突出显示。广大开发人员对此功能非常熟悉。
5、notepad++
notepad++ 通常用于编辑文件,并且也可以用于查看 kernel日志以及 Android系统日志;此外,它还具备强大的搜索功能
6、VSCode
Visual Studio Code 具有与 Source Insight 相似的特性,并常被缩称为 VSCode。它是由微软开发的一款高效的文本编辑器,并提供免费版本。该工具支持 Windows、Linux 和 macOS 三种操作系统平台,并具备跨平台兼容性。您可以在官方网站获取 Visual Studio Code 的下载链接:https://code.visualstudio.com/
VSCode 支持多国语言环境,并提供丰富的开发工具和资源;特别地,在本教程中我们重点学习并实践 C/C++ 编程;因此建议安装专门针对 C/C++ 编程的插件:
VSCode 支持多国语言环境,并提供丰富的开发工具和资源;特别地,在本教程中我们重点学习并实践 C/C++ 编程;因此建议安装专门针对 C/C++ 编程的插件:
我们需要按照的插件有下面几个:
1)、C/C++,这个肯定是必须的。
2)、C/C++ Snippets,即 C/C++重用代码块。
3)、C/C++ Advanced Lint,即 C/C++静态检测 。
4)、Code Runner,即代码运行。
5)、Include AutoComplete,即自动头文件包含。
6)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
7)、One Dark Pro,VSCode 的主题。
8)、GBKtoUTF8,将 GBK 转换为 UTF8。
9)、ARM,即支持 ARM 汇编语法高亮显示。
10)、Chinese(Simplified),即中文环境。
11)、vscode-icons,VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
12)、compareit,比较插件,可以用于比较两个文件的差异。
13)、DeviceTree,设备树语法插件。
14)、TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!
代码解读
7、Samba
在嵌入式系统应用开发平台中,samba服务器、tftp和nfs服务器是主要采用的文件传输服务;其中,在嵌入式Linux系统中使用tftp和nfs作为主要的文件传输服务;而samba则主要用于连接Linux与Windows系统的文件共享。
有很多教程,随便参考即可,半个小时搭建好:
代码解读
8、其他软件
WPS
WPS
9、Linux 常用命令
grep -nR "XXXXX" //查找字符串
find -name XXXX //查找文件/节点
tar -xzvf XXXXX.tgz XXXXXX //解压
tar -czvf XXXXX.tgz XXXXXX //压缩
sudo:以超级用户权限运行命令
ls:列出当前目录中的文件和子目录
pwd:显示当前工作目录的路径
cd:切换工作目录
mkdir:创建新目录
rmdir:删除空目录
rm:删除文件或目录
cp:复制文件或目录
mv:移动或重命名文件或目录
touch:创建空文件或更新文件的时间戳
cat:连接和显示文件内容
more/less:逐页显示文本文件内容
head/tail:显示文件的前几行或后几行
ps:显示当前运行的进程
kill:终止进程
ifconfig/ip:查看和配置网络接口信息
ping:测试与主机的连通性
chmod:修改文件或目录的权限
chown:修改文件或目录的所有者
df/du:显示磁盘使用情况
mount/umount:挂载和卸载文件系统
top/htop:显示系统资源的实时使用情况和进程信息
scp:安全地将文件从本地复制到远程主机,或从远程主机复制到本地
echo:将文本输出到标准输出
uname:显示系统信息
shutdown/reboot:关闭或重新启动系统
zip/unzip:用于压缩和解压 ZIP 文件
passwd:更改用户密码
history:查看命令历史记录
free:显示系统内存使用情况
代码解读
