starting 1.知识满满(入门)

1.讲练结合,给时间敲代码一定要多动手,眼行千行不如手写一行。

2.及时提问,不要累积自己的知识盲区,千里之堤,毁于蚁穴。

一 什么是嵌入式?

如果你去百度,那么答案是:

以计算机应用为核心,软硬件可裁剪的专用计算机系统,对功耗,体积,成本,可靠性有要求的系统

unix:macos,ios

linux:安卓,ubuntu,redhat,deepin,centos

win:windows

鸿蒙OS

二. linux的由来

三 linux的系统的层次

应用层

APP,makefile,命令,脚本

内核层

内核层的五大功能:

文件管理:(通过文件系统对文件组织管理)

内存管理:(内存的申请和释放工作)

网络管理:(通过网路协议进行网络数据包的收发)

进程管理:(程序的一次执行过程,进程的创建,销毁,调度等)

设备管理:(设备驱动的管理)

硬件层

LED,Camera, 触摸屏,网卡,硬盘等

linux系统

分时(时间片),多任务,多用户的操作系统

 cpu:

L1CACHE:大概是:1700GB/S

L2CACHE:大概是:200GB/S

内存:

ddr3:内存大概是10GB/S

ddr4: 内存大概是60GB/S

硬盘:掉电文件还在

机械硬盘(HDD):100MS/S

SATA: (SSD): 450MS/s

nvme (SSD): 2000ms/s

四 linux的目录结构

文件,文件夹 (目录)

五 命令行提示符的介绍

jsetc @ linux : /dev $

| | | | |

用户名 分隔符 主机名 当前所在的路径 表示权限 $:普通用户

#:管理员权限

~:用户目录的路径 (/home/jsetc)

六:linux的基本命令

-:后面一般跟属性

*:所有

6.1 ls

ls:显示当前所有的目录和文件

ls -a:显示所有的隐藏目录和文件

ls -l: 显示当前目录和文件的所有属性

ls -al:(ll)显示所有隐藏文件或者目录的属性

d rwx rwx r-x 6 jsetc jsetc 4096 1月 10 15:47 jsetc/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 其它用户 | | 同组用户的其它用户 | 当前用户 文件的属性 chmod:修改文件或者目录的权限 用法:chmod 权限 目录/文件 举例:chmod 775 jsetc 文件的属性: bsp-lcd b:块设备文件 s:套接字文件 p:管道文件 -:普通文件 l:软链接文件 c:字符设备文件 d:目录文件

6.2 cd 命令

cd:(change dir)

cd 路径 //进入指定的目录

路径:

绝对路径:从根目录开始的路径

相对路径:从当前目录开始的路径(逻辑路径)

. :当前路径 .. :上一级路径 ../..:上一级路径的上一级路径

6.3 pwd命令

显示当前用户所在的路径(绝对路径)

6.4 mkdir 命令

mkdir:(make dir):创建目录

用法:mkdir 目录名

mkdir 目录1 目录2

6.5 sudo命令

含义:以管理员权限运行

6.6 touch命令

功能:创建文件

touch 文件名

6.7 rm命令

功能:删除文件或者目录

用法:rm -rf: 递归强制删除

6.8 cp命令

功能:复制文件或者目录

用法:cp 源路径 目的路径

cp 源路径 目的路径 -r //复制的是一个目录

6.9 mv命令

功能:移动一个文件或者目录,改名字,剪切

用法:mv 源路径 目的路径

6.10 cat命令

功能:查看文件的中的内容

用法:cat 文件

cat -n 文件名 //显示行号

6.11 su命令

功能:切换用户

sudo su 用户名

举例: 普通用户--->管理员 sudo su root

管理员 ---->普通用户 su jsetc

6.12 clear命令

功能:清屏(ctrl + l)

6.13 tab按键补齐

6.14 find 文件查找命令

find 路径 -name 文件名

七 vim编译器

vim 1.c创建并打开一个文件

vim编译器的三种模式:

命令行模式:ESC

yy:复制

p:粘贴

nyy:复制n行

u:撤销

dd:剪切

ndd:剪切n行

gg: 跳转到首行

G:跳转到尾行

ngg:跳转到第n行

shift +zz(或者ZZ):退出并保存

插入模式:在命令行模式下:输入 i

底行模式:在命令行模式下:输入:shift + :

w:保存

q: 退出

wq:保存并推出

q!:不保存退出

set nu:显示行号

set nonu:取消显示行号

vsp 文件名 :左右分屏打开多个文件

sp 文件名:上下分屏

八 gcc编译器

下载命令: sudo apt-get install gcc

编译第一个代码:

gcc hello.c -o hello //-o:更改可执行文件名

./文件名:打开gcc更改的文件

8.1 gcc编译过程

预处理(-E)

预处理:头文件的展开,宏的替换,条件编译等。

gcc -E hello.c -o hello.i

编译(-S)

编译:进行语法检查,如果代码有语法错误,会报错,编译结束,生成汇编文件

gcc -S hello.i -o hello.s

汇编(-c)

汇编:将汇编文件转换成二进制文件,还没有链接到库,不可执行

gcc -c hello.s -o hello.o

链接

将所有的.o文件链接生成可执行文件

gcc hello.o -o hello

九 安装软件

(1)ubuntu deb

(2)redhat rpm

sl _ 3.03 - 17 build2_amd64 .deb | | | | 软件名 主版本 修订版本 架构(64位)

离线安装:dpkg:在安装软件的时候,如果有依赖,这些依赖程序不会被安装

sudo dpkg -i 软件包名 //安装软件 在终端上输入软件的名字 //执行软件 sudo dpkg -r 软件名 //卸载软件(会保留配置文件) sudo dpkg -p 软件名 //完全卸载 sudo dpkg -l 软件名 //查看软件的安装状态 sudo dpkg -L 软件名 //列举这个软件相关的所有路径 sudo dpkg -s sl //查看软件的安装状态(更详细)

在线安装

apt-get,在线安装如果有依赖程序,这些依赖的程序会被一并安装上去

选择软件源:

sudo apt-get update //更新软件源 sudo apt-get install -f //更新软件依赖 sudo apt-get install gcc sudo apt-get install net-tools sudo apt-get install oneko sudo apt-get install cowsay sudo apt-get install cmatrix sudo apt-get install frozen-bubble sudo apt-get remove 软件名 sudo apt-get download 软件名 sudo apt-get clean //清除目录下/var/cache/apt/archives的安装包

虚拟机网络配置

补充:

[1]压缩命令

压缩的对象是文件(目录不能被压缩)

ubuntu上的压缩文件的格式 .gz .bz2 .xz

gzip/gunzip ------>xxx.gz bzip2/bunzip2 ------>xxx.bz2 xz/unxz ------->xxx.xz 压缩前: -rwxrw-r-- 1 jsetc jsetc 6848 1月 14 16:09 seqlist.c* gzip: -rwxrw-r-- 1 jsetc jsetc 1845 1月 14 16:09 seqlist.c.gz* bzip2: -rwxrw-r-- 1 jsetc jsetc 1934 1月 14 16:09 seqlist.c.bz2* xz: -rwxrw-r-- 1 jsetc jsetc 1800 1月 14 16:09 seqlist.c.xz*

压缩率: xz > gzip >bzip2

压缩速率:xz < gzip < bzip2

使用方法:

gzip/gunzip 文件名

注意:压缩和解压缩文件会被替换

[2] 打包(归档)

归档的对象是一个目录

将一个目录归档成一个文件,或者将这个归档后的文件重新释放变成一个目录

tar 命令 -c:创建归档文件 -x:释放归档文件 -z:压缩成gzip格式 -j:压缩成bzip2格式 -J:压缩成xz格式 -v:显示过程 -f:后跟的是文件的名字

1.归档

tar -cf hello.tar hello //将hello的目录打包成hello.tar文件

tar -xf hello.tar //将hello.tar拆成hello目录

2.打包并压缩成gzip格式

tar -czf tongxunlu.tar.gz tongxunlu

3.打包并压缩成bzip2格式

tar -cjf tongxunlu.tar.bz2 tongxunlu

4.打包并压缩成xz格式

tar -cJf tongxunlu.tar.xz tongxunlu

5.拆包(解压缩)

tar -xvf 压缩包 //万能拆包命令

tar -xvf 压缩包 -C 路径

【3】chmod

功能:修改文件的权限

用法:

chmod 权限 文件名

chmod 777 文件名 u:usr 当前用户权限 g:group 同组用户其他用户权限 o:other:其它用户权限 a:all:所有用户 chmod o+x 文件名 //给其它用户加上可执行权限

作业:

1.将今天的内容至少敲2遍

2.自学一些文件相关的命令:head,tail,wc file,more/less,grep,umask


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部