1、编程环境
嵌入式------> 软件硬件相结合 软件控制硬件
一个定制的计算机
根据嵌入式产品的功能对软硬件进行裁剪
软件裁剪:LinuxOS
LinuxOS : 开源
WindowsOS : 闭源 win7 win10
ubuntu : LinuxOS的一个版本
redhat : centOS
Gentoo
Debian
VM : 虚拟机 虚拟一台计算机
2、Linux基本命令
LinuxOS是一个多用户的 多任务
ctrl + alt + t : 打开终端(终端始终位于家目录下)
ctrl + shift + n : 打开终端(跟上一个终端在同一路径下)
命令提示符:
用户名@计算机名:当前路径$
linux@ubuntu:~$
$代表当前用户是一个普通用户
#代表超级用户(root)
pwd : 查看当前绝对路径
用户的工作目录(家目录 ~):
/home/用户名 //该用户的操作权限在这个路径之下,往上是root用户的操作权限
相对路径 : 要看当前所在位置
绝对路径 : 从根目录开始的路径
cd : 切换路径
cd 目录路径
cd .. : 退回上一级
cd . : 当前路径
cd - : 回到上一次所在目录
cd ~(cd) : 快速回到家目录
ls : 查看当前路径下的内容 (蓝色:文件夹 白色:普通文件 绿色:可执行文件)
ls 目录路径 : 查看该目录下的内容
ls -a : 查看目录下的所有内容
包含隐藏文件 每一个路径下都有.和..这两个文件 分别当前当前路径和上一级路径
ls -R : 以递归形式显示当前路径下的内容
ls -l : 以长格形式显示当前路径下内容的详细属性
e.g.
drwxr-xrwx 2 linux linux 4096 9月 22 2012 Videos
第一个字符代表文件属性,Linux一共有7种文件类型:
d 文件夹
- 普通文件
c 字符设备文件
b 块设备文件
l 软链接文件
p 管道文件
s 套接字文件
第一组rwx代表用户自己对这个文件的操作权限
第二组rwx代表用户所在组的其他用户对这个文件的操作权限
第三组rwx代表其他组的其他用户对这个文件的操作权限
touch 文件名 : 新建普通文件(可以连续创建多个)
mkdir 文件夹名 : 新建文件夹
mkdir day1 day2 day3 : 创建三个并列的文件夹
mkdir -p day1/day2/day3 : 创建一个文件夹叫day1 嵌套关系
rm 普通文件名:删除普通文件
rm -rf 文件夹名 : 删除文件夹
rmdir 文件夹名: 只能删除空文件夹
cp : 复制
cp 源对象路径 目标路径
cp -r 源文件夹路径 目标路径
mv : 移动
mv 源对象路径 目标路径 //不区分文件和文件夹
mv aa bb : 如果bb存在,那么就将aa移动到bb 如果bb不存在,就将aa改名为bb
mv 1.c 2.c // 如果2.c存在,那么覆盖?
ctrl+shift+‘+’ : 放大终端
ctrl+'-' : 缩小终端
ctrl+c : 结束当前进程
ctrl+l(clear) : 清屏
上下箭头:查看历史命令
sudo : 增加权限 (一般放在命令的开头,代表这条命令以root用户的权限去执行)
Tab自动补全
(1)如果给的前缀在当前路径下只有一个目录路径,那么就能一次补全
(2)如果给的前缀在当前路径下有多个目录路径,那么只能补全到前缀相同的地方
此时按两次Tab键,可以将以该前缀开始的所有目录显示出来
ctrl+shift+T 同时打开多个终端界面
ctrl+D 关闭
2、vim编辑器
vim 文件名:如果文件存在则直接打开,如果不存在新建并打开
vim存在三种模式:命令行模式 底行模式 插入模式
打开一个文件进去就是命令行模式,命令行模式下不能编辑文本,需要切换到插入模式
命令行模式----->插入模式 按i a o
插入模式----->命令行模式 按esc
命令行模式----->底行模式 shift+:
底行模式下:(以:开头)
:w 只保存
:q 只退出
:wq 保存并退出 :x ZZ(命令行下)
:w! 强制保存(!代表强制)
:q!
:wq!
:set nu //显示行号
:set nonu //取消行号
:set mouse=a //设置鼠标控制光标
命令行模式下:
nyy : 复制n行
p : 粘贴
首先将光标放在要复制的这一行(具体哪个位置没有关系),然后按nyy
将光标放在要开始粘贴的位置,然后按p,会从光标所在的下一行开始粘贴
ndd : 剪切
u : 撤销
ctrl+r : 反撤销
gedit编辑器类似于windows下的记事本
gedit 文件名
3、gcc编译器
预处理
编译
汇编
链接
编译:
gcc test.c //如果文件没有错误,会生成默认的可执行文件叫 a.out 所有的.c文件生成的默认可执行文件都叫a.out
执行:
./a.out
gcc test.c -o test //如果文件没有错误,会将生成默认的可执行文件a.out改名为test
gcc -o test test.c
./test