一.如何理解嵌入式。

嵌入式系统可以理解为:以应用为中心、软硬件可裁剪、对功耗/成本/体积/实时性/可靠性有严格要求的专用计算机系统。由硬件: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软件的使用和快捷命令。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐