linux嵌入式工程师学习——day1
一.如何理解嵌入式。
嵌入式系统可以理解为:以应用为中心、软硬件可裁剪、对功耗/成本/体积/实时性/可靠性有严格要求的专用计算机系统。由硬件:CPU,存储器,控制器,输入输出设备和软件:操作系统等组成。用软件控制硬件来完成某些特定场景下的特定功能。
二.linux发展史
1>1969年贝尔实验室开发UNIX操作系统,使用C语言,具备可移植性,是操作系统的思想源头。
2>1983年Richard Stallman 发起 GNU 计划,目标是创建一个完全自由的操作系统。GNU 提供了编译器 GCC、Shell、编辑器 Emacs、C 库等大量工具,但自己的内核 Hurd 长期未成熟。
3>1987 年Andrew Tanenbaum 发布 Minix,一个用于教学的小型 Unix 类系统。它启发了 Linus Torvalds,但功能有限。
4>1991 年,Linus Torvalds 受到Minix启发,发布 Linux 内核 0.01。最初只是个人爱好项目。
5>1992 年 Linux 改用 GPL 许可证,与 GNU 工具结合,形成 GNU/Linux 生态。
6>由于Linux的开源,越来越多的人参与到系统的完善和更新。
7>为了普及大众,让普通人也能使用Linux系统,1993-1999年,Debian、Slackware、Red Hat 等出现,让 Linux 更易安装使用。Linux正式发布,内核逐渐稳定,逐渐进入企业服务器市场。
8>2008 年 Android 基于 Linux 内核,让 Linux 进入数十亿设备;2013 年 Docker、之后的 Kubernetes 推动云原生发展。
9>现在,Linux 覆盖服务器、云计算、Android、嵌入式、汽车、超算等领域,成为现代数字基础设施的底座。
三.什么是VMware;什么是Ubuntu?
VMware 指虚拟机软件。 核心作用是:在一台物理电脑上,通过软件模拟出多台“虚拟电脑”,每台虚拟电脑可以独立安装和运行不同的操作系统。
Ubuntu 是一个基于 Debian 的 Linux 发行版。2004 年首次发布。它把 Linux 内核、GNU 工具、桌面环境、应用软件和包管理器打包成一个完整、易用的操作系统。每年发行两版(4.10月份),每四年发布长期稳定版。
四.认识Linux终端面板
快捷键Ctrl + Alt + T 打开终端。

面板左侧任务栏,包括固定的应用和正在使用的程序。
终端中显示的linux@ubuntu:~$
linux //用户名
@ //表示at
ubuntu //主机名
: //分隔符
~ //用户主目录——当前用户位置
$ //用户身份(普通用户,超级用户(临时权限))
快捷命令:
Ctrl + Shift + + //增大终端字体
Ctrl + - //减小终端字体
Ctrl + 0 //恢复默认大小
五.linux基础命令
命令格式:<命令>[选项][参数]
1. pwd (Print Work Directory(目录)):打印工作目录,输出当前目录的绝对路径。
*绝对路径:以“/根目录”为开头,参考起点为根目录位置。
*相对路径:不以“/根目录”为开头,参考位置为当前位置。

2. ls (list):查看指定目录下的内容。
ls 目录名 //基础用法,查看指定目录下内容
ls / //查看根目录
ls //查看当前目录下内容
*拓展:
ls -a //查看当前目录下的所有文件,包括隐藏文件(文件开头以“.”开头)

ls -l //长格式,包含内容的详细信息:文件类型,权限;硬链接数;所有者名字;所属组;文件大小;最后修改日期;文件名
ls -lh //查看当前位置下的详细内容——文件大小换算为KB;MB;GB
ls -t //按修改时间排序,最新在前
ls -r //反向排序
ls -s //按文件大小排序,大在前
ls -x //按扩展名排序
ls -u //按访问时间排序或显示
ls -c //按状态改变时间排序或显示
3. cd (Change Directory) //改变目录 ---切换路径
cd 目录名 //切换到目录下
cd //默认为回到家目录
cd / //切换到根目录
cd ~目录名 //主目录下的目录
cd . //"."表示当前目录
cd .. //“..”表示上一级目录
cd - //切换到上一次操作的目录
4. touch :创建空白文件名
touch 文件名 文件名...(可同时创建多个) //当前目录下创建空白文件
touch /home/linux/文件名 //在指定路径下创建空白文件
touch /文件名 //在根目录下创建空白文件

*sudo:授予临时权限,临时进入超级用户状态.在需要对根目录做出,修改,添加,删除等命令时需要进入临时权限.
5. mkdir :创建空白目录
用法同touch
6. cp :Copy,复制
cp 源文件 目标文件 //将源文件复制到目标文件,源文件必须存在,复制后源文件保留
*若源文件为目录文件,则需要增加 -r 选项(递归)
cp 目录文件 目标文件 -r
*备份,将源文件备份为"源文件.back"
7. mv :Move,移动
mv 源文件 目标位置 //将源文件移动到目标位置,并且删除源文件
*同理,若源文件为目录文件,需加-r
*重命名,使用mv重命名文件
8. rm :Remove,删除
rm 文件名 //删除文件
rm 目录文件 -r //删除目录文件
*注:在使用cp,mv,rm等命令时都能同时处理多个文件,如下:

六.Linux下的C语言编程
1.基础流程
1>编辑代码:vi(或vim).c文件
使用vi指令进入编辑模式。vi:linux下的一个类似记事本的工具
2>编译代码:gcc .c文件
3>运行代码:./可执行文件
4>调试代码:gdb
2.vi编辑模式
终端运行vi 1.c进入vi软件:

按下i进入编辑模式(insert)。

编写C语言代码。
按下Esc退出编辑模式,回到命令模式,按住“Shift+:”进入命令输入模式,输入wq保存退出。
w //写入
wq //写入并退出
wq! //!表示强制,强制写入并退出
q! //强制退出

3.关于vi模式的一些指令
按下Esc进入命令模式,直接按下键盘
1>p //在当前光标粘贴内容
2>np //粘贴n份
3>yy //复制光标所在一行
4>myy //复制光标下m行内容
5>dd //删除一行
6>ndd //删除n行
7>dd + p //剪切,删除并粘贴内容到其他位置
8>gg //光标来到第一行
9>dG //删除光标下面的所有内容
10>Shift + v //行选中。小键盘的上下左右键移动。选中状态下按下y复制,d删除,p粘贴。
11>Ctrl + v //块选中。同理

12>u //撤销上一步
13>Ctrl + r //恢复撤销的步骤
4.编译并运行
gcc 1.c //编译1.c文件
./a.out //默认编译后的可执行文件名为a.out
gcc 1.c -o hello //编译1.c文件并输出名称为hello的可执行文件。

七.总结
今日了解了Linux的发展史,嵌入式工程师的行业前景,学习使用虚拟机和Ubuntu操作linux系统,学习Linux的基础指令,以及vi软件的使用和快捷命令。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)