课堂笔记之嵌入式Linux操作系统

嵌入式系统开发概述

1、什么是嵌入式技术?
答:操作系统—>嵌入式操作系统:管理资源,解耦软硬件。
2、嵌入式开发方向:入式上层应用开发、嵌入式底层系统软件开发、嵌入式系统工程师。
3、嵌入式学习路线:嵌入式操作系统、开发工具、系统应用开发(&GUI)、系统移植、驱动、内核。
4、所具备的知识体系:C语言、单片机、嵌入式操作系统(汇编、C++)
拓展:
a.编程语言:C、C++、汇编、python
b.操作系统:非实时性(Linux) 实时性(ucosii)
c.硬件基础:51+stm32+arm64
d.开发工具:git/github、gcc、makefile编写、gdb调试器、shell
5、嵌入式操作系统(可移植的操作系统)的种类:Vxworks、Linux、ucosii
6、嵌入式CPU的选择(CPU的体系结构有哪些?)x86 arm

嵌入式Linux操作系统

学习内容及目标:Linux介绍、使用Linux操作(命令)、Linux开发工具 目标:(会用!!、够用!!)
1、安装Linux开发环境:
VM虚拟机(通过软件的方法模拟pc)
拓展:
a.为什么不选择双系统?(嵌入式开发与内核交互,会导致系统崩溃;Linux和Windows切换不方便)
b.系统找不到了怎么办?(右击虚拟机,点击管理,再点击克隆,然后保存,实现备份)
Linux发行版(发行给用户使用的版本)
redhat(最好的发行版centos 7;企业版)
ubuntu(16.10 18.04最为稳定)
deepin(国产)(操作界面美观,管理软件包的方式也比较好)

2、Linux介绍(主要要只知道这几个方面:POSIX、GPL、GNU)
①、unix操作系统;unix:1978—1979 ;C语言之父:丹尼斯里奇==unix之父(unix是一款商业软件);
②、1991年 Linux0.1版本 ;
③、GPL:最大的推动是:开源社区;
④、GPL协议——(最新内核)Linux 5.0(你对开源社区里面的代码,做了修改的话,需要把修改的地方开源出来)(Linux的内核不属于任何一家公司)
⑤、Linux能够打败unix的原因是:支持POSIX标准POSIX标准:可移植操作系统接口(跨平台的条件:利用POSIX标准提供的接口进行开发)
⑥、GNU计划:gnu is not nuix;(这个社区里面有优秀的工具gcc gdb)

3、Linux的使用(VS windows)
①、Linux的定位:开发人员(讲究操作效率
②、win32定位:普通用户(讲究操作简单
③、Linux使用:追求的目标是脱离鼠标——学习命令去使用它 (大命令有1000+)
学习目标:本课程60命令——本节课20个命令(搜索Linux命令大全)
学习方法:背、记、练

拓展:
a.Linux运维工程师需要掌握很多的命令;
b.嵌入式Linux工程师(大概需要掌握80个命令);
c.不同发行版有一些特有命令(开发的软件打包成可执行文件)。
用户键入命令,通过shell解析器解析到内核(对应的可执行程序),内核做完相应的操作,返回给用户,如图所示:
课堂笔记之嵌入式Linux操作系统_第1张图片
配置都在Terminal的Edit里面
自动补全:输入字母+table(在终端内)
Linux命令也叫shell命令。
④、root@wly-virtual-machine:~#
root超级用户(具有一切权限,即可以删除系统中的任何文件)
wly(自己起的名字)普通用户(受限制,即系统级的文件不可能操作,也不可能去修改)
谨慎使用root,因为删除一个文件后很难恢复。
Alt
(1)用户手册:man+空格+命令(用来解释自己不懂的命令)
(2)用户管理命令
1)su空格-空格wly(切换到普通用户)
2)su或者su空格-空格root(切换到root用户)
拓展:
当权限受限的时候,有两种方法解决
1)输入su或者su空格-空格root命令,切换到root;
2)使用sudo命令(sudo:换取更高级的权限)
(3)创建用户:adduser user1(用户名)
sudo adduser user1
输入密码
输入密码
课堂笔记之嵌入式Linux操作系统_第2张图片
拓展:
a.如何验证创建成功?(将电脑关了重启,用user用户登录;输入命令su空格-空格user1回车,输入密码)
b.命令输错怎么办?(ctrl+C退出去即可)
(4)删除用户:deluser user1 或者用root权限删除(输入命令:rm空格-rf空格user1)
课堂笔记之嵌入式Linux操作系统_第3张图片
(5)修改密码:passwd wly(用户名)回车;输入旧密码;输入新密码;
adduser deluser passwd (用的比较少)
Alt
(6)文件操作的命令
Linux中的相当于windows中的文件夹
①、ls:查看一个目录下面有多少文件(man ls)
②、ls空格-l:看见文件的详细属性
③、ls空格-a:查看所有文件
重要知识点:
drwxr-xr-x
Linux一点哲学:一切皆为文件(Linux管理资源的方式是全部抽象成文件)
Linux文件的分类:普通文件(以-开头)、目录文件(以d开头)、设备文件(以c字符设备/b块设备开头)、链接文件(以l开头)。
Linux特殊文件:管道文件(以p开头)、堆栈文件(以f开头)、共享文件(以s开头)。
以.开头的文件是隐藏文件

④、Linux文件的操作权限(属性):r:可读;w:可写;x:可执行
权限描述:3组(当前用户、当前用户组、其他用户)
drwxr-xr-x:每三个为一组,代表一种操作权限
⑤、查看hello.c文件:ls -l hello.c
⑥、修改文件权限:chmod (man chmod )
第一种改法:
a.将hello.c的可写权限关掉:chmod u-w hello.c
b.开启hello.c的可写权限:chmod u+w hello.c
c.给所在组增加可写属性:chmod g+w hello.c
d.给所有的加可执行属性:chmod a+x hello.c
第二种改法:
chmod 655 hello.c(一个数字代表一组)
(注释:r 4 w 2 x 1 ;rwx 7 rw 5 rw 6)
课堂笔记之嵌入式Linux操作系统_第4张图片
(7)文件创建、查看、删除
①、创建一个文件:touch hello.c(文件名)或者touch demo.txt(文件名)
②、查看文件内容:cat hello.c(文件名)或者cat demo.txt(文件名)
或者 cat 188/0302/pthread_pool.c
③、删除文件:rm hello.c 或者rm -f demo.txt(强行删除)
课堂笔记之嵌入式Linux操作系统_第5张图片
(8)文件编辑:gedit vim gvim ——文本编辑器(原生态的)
①、编辑文件:gedit hello.c
编辑内容如下:

#include 
int main()
{
printf("hello world!\n");
return 0;
}

点击save,然后退出,cat hello.c可以查看到编辑的内容
②、编译文件:gcc hello.c(编译成功,会出现a.out可执行文件)
③、执行文件:./a.out
课堂笔记之嵌入式Linux操作系统_第6张图片
课堂笔记之嵌入式Linux操作系统_第7张图片
拓展:
现在一般使用IDE进行程序编辑
优秀IDE:vscode(Visual Studio Code)(开发效率提高)
编译文件:gcc编辑器
执行文件:./a.out
(9)装软件/更新软件:sudo apt-get install vim或者sudo apt-get install gcc
提高更新速度:Software&Updates—>Other—>Select Best Server

(10)目录操作命令:cd/cd …
①、怎么进入目录:cd class_C++回车或者cd class_C++/0228/ (按table能够补全/的时候,说明里面还有个目录)
②、返回上一层目录:cd …
③、返回上上一层目录:cd …/…/
④、创建一个目录:mkdir 0303
⑤、创建多个目录:mkdir 0303 kk mm
⑥、删除目录:rm -r kk mm 0303 (mkdir -r 目录名)、 rm -fr kk mm 0303(加了f会关掉提示信息)、rmdir kk(rmdir只能删除空目录)
⑦、创建一个0303/kk/mm/nn(nn在mm里面,mm在kk里面,kk在0303里面)
makdir -p 0303/kk/mm/nn
⑧、直接返回0303:cd空格回车
⑨、根目录/:所有文件的父目录(所有文件都保存在该目录下)
查看根目录:cd /
课堂笔记之嵌入式Linux操作系统_第8张图片
(11)bin\sbin\dev\etc\root\home\user
①、bin:系统的命令(普通用户命令);
②、sbin:管理员的命令;
③、dev:系统中所有设备文件;
④、etc:存放的是系统中的所有配置文件;
⑤、root:root用户的工作目录;
⑥、home:普通用户的工作目录
cd /home/
⑦、user:存放的系统中安装的软件(库文件、头文件)(与Program Files功能一样)
⑧、cd .:当前目录
⑨、cd ~:当前用户的工作目录
⑩、cd class_c++/:相对路径
cd /root/class_c++:绝对路径
相对路径:从当前目录开始(只能进入当前目录)
绝对路径:从根目录开始(进的是唯一一个目录)

(12)拷贝cp、剪切mv
①、拷贝文件:cp
将hello.c拷贝到0303中:cp hello.c 0303(相对路径)或者cp /root/hello.c /root/0303(绝对路径)
拷贝目录
cp -r将kk拷贝到mm上:cp -r kk mm或者cp -r /root/0303/kk /root/0303/mm
②、剪切:mv
将hello.c剪切到mm:mv hello.c mm
③、重命名:mv
将kk改名为kk1:mv kk kk1
课堂笔记之嵌入式Linux操作系统_第9张图片
(13)常用命令
①、clear:清屏(内容还在)
②、reset:所有都清掉
③、pwd:看当前的路径
④、tar:压缩和解压
压缩hello.c文件:tar cvzf hello.tar.gz hello.c
解压hello.tar.gz.文件:tar xvzf hello.tar.gz
解压到指定目录0208目录中:tar xvzf hello.tar.gz -C 0208(相对路径)或者 tar xvzf hello.tar.gz -C /root/0208/(绝对路径)
⑤、reboot:重启
⑥、shutdown:关机

(14)安装vm tools
①、右击选择安装;点击Files;点击VMware Tools;
②、拷贝压缩包VMware Tools-10.3.10-12406962.tar.gz;拷贝到对应的目录下面,Home中;
③、打开终端,进行解压:tar -xvzf VMware Tools-10.3.10-12406962.tar.gz;
④、进入解压好的目录:cd vmware-tools-distrib/;ls一下回车;
⑤、然后输入./vmware-install.pl运行一下脚本文件;
⑥、根据提示输入,想重新装填YES,敲回车就行;
⑦、安装后,reboot重启就可以了

你可能感兴趣的:(笔记)