提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、认识C语言
- 二、操作系统
- 1.引入库
- 2.读入数据
- 总结
前言
嵌入式学习前期C基础内容总结
一、认识C语言
C语言是一门十分流行的编程语言,由美国贝尔实验室的 Dennis Ritchie 在 20 世纪 70 年代开发。
C语言具有高效、可移植、灵活、简单等特点,被广泛应用于操作系统、编译器、数据库、图形界面、嵌入式系统、网络通信、游戏等领域
二、操作系统
操作系统:管理硬件和软件
三大操作系统:Windows Macos Ubuntu
内核 :WindowsNt Unix Linux
嵌入式学习:
一般选择Linux:
1.免费
2.稳定
3.开源
4.可以和硬件结合
三、认识VMware
VMware:是一个桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试 、部署。
四、认识Ubuntu
Ubuntu:Ubuntu是一个以桌面应用为主的Linux发行版操作系统
(一).VM和Ubuntu下载
Ubuntu系统下载官方链接:Ubuntu系统下载
VMware下载官方链接:VMware Workstation 17Player for Windows下载
【Liunx常用操作】安装Ubuntu操作系统(Desktop&Server)
参考:
【Liunx常用操作】安装Ubuntu操作系统(Desktop&Server)_ubuntu desktop安装-CSDN博客
(二)、终端操作
1.终端
i.打开终端
1.点击图标
2.ctrl+alt+t 打开新终端
3.ctrl+shift+t 在已有终端的情况下,在同一端口打开新终端
4.ctrl+shift+e 在已有终端的情况下,左右打开终端
5.ctrl+shift+o 在已有终端的情况下,上下打开终端
ii.关闭终端
1.点击X
2.输入指令exit
3.ctrl+d
iii.常用的快捷键
1.放大:ctrl shift +
2.缩小:ctrl -
3. 赋值:ctrl+shift+c
4.粘贴:ctrl+shift+v
iv.清屏
ctrl l 快捷方式 置顶不删除
clear 置顶删除
v.tab键
指令,文件,目录自动补全
(三)、认识Ubuntu的目录
/ | Linux文件系统根目录 |
/bin | 存放系统中最常用的可执行文件(二进制) |
/boot | 存放Linux内核和系统启动文件 |
/dev | 存放所有设备文件 |
/etc | 存放系统的所有配置文件 |
/home | 用户主目录的默认位置 |
/initrd | 存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录 |
/lib | 存放共享的库文件,包含许多被/bin,/sbin中程序使用的库文件 |
/lost+found | 存放fsck放置的零散文件 |
/media | Ubuntu系统自动挂载CD-ROM,软驱,USB存储后,存放临时读入的文件 |
/mnt | 该目录通常用于作为被挂载的文件系统的挂载点 |
/opt | 作为可选文件和程序的存放目录,主要被第三方开发者用来简易地安装和卸载他们的软件包 |
/proc | 存放所有标志为文件的进程,他们是通过进程号或其他的系统动态信息进行标识 |
/root | 根目录(超级用户)的主目录 |
/sbin | 存放更多的可执行文件(二进制),包括系统管理,目录查询等关键命令文件 |
/srv | |
/sys | |
/tmp | 存放用户和程序的临时文件,所有用户对该目录都有读和写的权限 |
(四)、shell命令
格式1:指令 参数 选项
格式2:指令 选项 参数
注意事项:
1.指令,参数以及选项之间必须使用空格隔开
2.参数以及选项可以省略不写
1.文件含义
1.文件类型:
7种 bcd-lsp
b:块设备文件
c:字符设备文件
d:目录
-:普通文件
l:软连接文件
s:套接字文件
p:管道文件
2.文件权限
r:读权限
w:写权限
x:可执行权限
-:不具备权限
2.ls
功能:查看目录以及文件的内容
1.ls 查看当前目录下的所有文件内容
2.ls 指定路径 查看指定目录下的所有内容
3.ls -a 查看当前目录下的所有内容包含隐藏文件
4.ls -l 查看当前目录下的所有内容使用长列表进行显示
5.ls -l -h 查看当前目录下的所有内容使用长列表进行显示,打印大小以kmg 为单位
3.chmod
功能:修改权限
方式1:使用字符形式 =-+
文件所属用户user:u
文件所属用户组:group:g
其他用户other:o
所有用户权限all:a
格式:
chmod u-r 文件名
chmod g+w 文件\目录
chmod o=x 文件\目录
chmod a=r 文件\目录
方式2:使用8进制
r:4 w:2 x:1 -:0
chmod xxx 文件\目录
chmod x 等价于 chmod 00x
3.man
功能:查看man手册的详细信息:man man
1.可执行程序或shell命令
2.系统调用(内核提供的函数)
3.库调用(程序库中的函数)
4.su
功能:切换用户
格式:sudo su 用户名
sudo:使用管理员权限
注意:默认root的密码是随机
5.passwd
功能:修改密码
格式:passwd 用户名
6.touch
功能:创建文件
touch 文件名 如果这个文件不存在当前目录下创建文件,存在则修改时间戳
touch 文件名1 文件名2 文件名3 ....... 创建多个文件
7.mkdir
功能:创建目录
mkdir 目录名 在当前目录下创建目录
mkdir 目录名1 目录名2 ... 在当前目录下创建多个目录
mkdir dir1/dir2/dir3 -p 嵌套创建目录,如果目录存在则不报错,否则创建父目录
8.cd
功能:切换路径
1.cd 指定目录
2.cd 将路径切换到家目录下
3.cd ~ 将路径切换到家目录下
4.cd . 进入当前目录
5.cd .. 进入上一级目录
6.cd - 进入上一次操作指令的路径
9.rmdir
功能:删除目录且为空
1.rmdir 目录名1 目录名2 ... 删除当前目录下的多个空目录
2.rmdir dir1/dir2/dir3 删除dir3
3.rmdir dir1/dir2/dir3 -p 删除dir1 dir2 dir3
10.rm
功能:删除文件或非空目录
1.删除文件
rm file1 file2 ... 删除当前目录下多个文件
2.删除目录
rm -r dir1 dir2 dir3 删除当前目录下的多个目录
11.echo
功能: 输出字符串,类似C语言printf
1.echo 字符串
2.echo '字符串'
3.echo"字符串"
4.echo -n 字符串 取消换行
5.echo -e "转义字符 字符串" 使转义字符发挥其效果
12.cat
功能:打印文件内容
1.cat 文件名 在当前终端打印文件内容
2.cat -n 文件名 在当前终端打印文件内容显示行号
13.重定向 > >>
1.> 单项重定向 覆盖
echo hello >文件名
如果这个文件不存在,则创建文件,把字符写入文件中
如果这个文件存在,则把字符覆盖原来文件内容
cat file1>file2
如果这个文件file2不存在,则创建文件,把文件file1中的内容拷贝到文件file2中
如果这个文件file2存在,则将file1文件中内容覆盖file2文件中内容
2.>> 双向重定向 追加
echo hello >> 文件名
如果这个文件不存在,则创建文件,把字符串追加到文件中
如果这个文件存在,把字符串追加源文件内容后面
cat file1>>file2
如果file2不存在,则创建文件,把文件file1中的内容追加到文件file2的后面
如果file2存在,把file1文件的内容追加到文件file2的内容的后面
14.cp
功能:拷贝文件或目录
1.文件拷贝文件
cp 文件1 文件2 把文件1拷贝到文件2
如果文件2不存在,把文件1拷贝一份,命名为文件2
如果文件2存在,把文件1拷贝一份,命名为文件2,替换原来的文件2
2.文件拷贝到目录
cp 文件 目录 把文件拷贝到目录中,目录必须存在
如果目录中不存在同名文件,把文件拷贝到目录中
如果目录中存在同名文件,替换目录中同名文件
3.目录拷贝目录
cp 目录1 目录2 -r 把目录拷贝给目录
如果目录2不存在,把目录1拷贝一份,命名为目录2
如果目录2存在且没有同名目录,把目录1拷贝一份,存到目录2之中
如果目录2存在且有同名目录,把目录1拷贝一份,存到目录2之中,替换同名目录
15.mv
功能:移动,剪切,重命名
1.文件剪切文件
mv 文件1 文件2 把文件1重名为到文件2
如果文件2不存在,把文件1重命名为文件2
如果文件2存在,把文件1重命名为文件2,替换原来的文件2
2.文件剪切到目录
mv 文件 目录 把文件剪切到目录中,目录必须存在
如果目录中不存在同名文件,把文件剪切到目录中
如果目录中存在同名文件,把文件剪切到目录中,替换目录中同名文件
3.目录剪切到目录
mv 目录1 目录2 把目录1重名为目录2
如果目录2不存在.把目录1重命名为目录2
如果目录2存在且没有同名目录,把目录1剪切到目录2里面
如果目录2存在且有同名目录且非空, 报错:不可以剪切目录实现替换
如果目录2存在且有同名目录且空,把目录1剪切到目录2里面,替换同名目录
16.pwd
功能:在终端回显当前目录下的绝对路径
17.whoami
功能:查看用户
(五)、vim\vi编辑器
功能:写程序,类似txt,nodepad++
格式:vim 文件名
特点:
1.创建文件,并打开文件,需要手动保存,否则文件创建失败
2.和touch的区别:
自动保存,不可以打开文件
1.命令行模式
命令行模式:复制、粘贴、剪切、删除、撤回、返撤回.....
1.yy 复制光标所在行
2.nyy 复制光标所在行的n行
3.选中代码y 复制选中的程序
4.dd 剪切光标所在行
5.ndd 剪切光标所在n行
6.选中代码d 剪切选中程序
7.delete键 剪切光标所在单个字符
8.gg 光标跳转首行
9.G 光标跳转尾行
10.= 使程序对齐
11.ggyG 全文复制
12.ggdG 全文剪切
13.gg=G 全文对齐
14.u 撤回
15.ctrl r 反撤回
16.p 粘贴
2.插入模式
写程序
1.a 在光标所在字符的后面插入
2.A 在光标所在字符的行尾插入
3.i 在光标所在字符的前面插入
4.I 在光标所在字符的行首插入
5.o 在光标所在字符的下一行插入
6.O 在光标所在字符的上一行插入
7.s 删除光标所在字符,在该光标处插入
8.S 删除光标所在行,在该光标的行首插入
9.insert键 在光标所在字符的前面插入
3.底行模式
保存,退出,查找,替换等
1.:w 保存
2.:q 退出
3.:wq 保存退出
4.:q! 强制退出
5.:wqa 全部保存退出(多文件操作时)
6.:vsp 文件名 在同一目录下打开文件
7:/string 查找字符串并高亮显示
8.:noh 取消高亮显示
9.:%s/字符串1/字符串2 全文把每一行的第一个字符串1替换为字符串2
10.:%s/字符串1/字符串2/g 全文把字符串1替换为字符串2
11.:m,n/字符串1/字符串2/g m-n行的字符串1替换为字符串2
12.m,ny 复制m-n行
13.m,nd 剪切m-n行
4.gcc编译器
gcc: 是由GNU发行的编译器,使用c和c++
格式1:
gcc ****.c 编译C文件,默认生成a.out二进制可执行文件 运行:./a.out
格式2:
gcc ****.c -o 可执行文件名 生成一个指定的文件名 运行:./可执行文件名
gcc的分步编译:
ESc .iso
预处理---->编译---->汇编---->链接
预处理:展开头文件,替换宏,删除注释
gcc -E ***.c -o ***.i
编译:检查语法的正确性,生成汇编文件
gcc -S ***.i -o ***.s
汇编:把汇编文件转换二进制文件
gcc -c ***.s -o ***.o
链接:把二进制文件链接为可执行文件
gcc ***.o -o 可执行文件
运行:
./可执行文件