一、虚拟机
为什么使用虚拟机:
进行嵌入式开发,依赖的是linux系统,主要以终端指令为主;linux也有图形化界面,由于嵌入式编程一般只将程序移植到开发版中,无需图形化界面
快捷键
放大终端 ctrl shift +
缩小终端 ctrl -
清屏 ctrl L
历史命令 上下箭头
3.linux命令
![](https://i-blog.csdnimg.cn/direct/79b7f6074fe145669361461700b5b13e.png)
用户名:hq whoami
主机名:Ubuntu hostname
:$中间位置 当前路径 默认在家目录~
查看当前路径:pwd
绝对路径:从根目录开始逐层向下查找 /home/hq/a/b/c
相对路径:以当前位置为参照
$:普通用户
root:超级用户
补充:Linux中一切皆文件
其中有两大特殊位置:
根目录:/
家目录:/home/hq ~
新建
文件夹:mkdir 文件夹名字
文件:touch 文件名.后缀
相同路径下:
不能新建同名文件夹;会报错
文件:更新文件时间戳
相同路径下,同时新建多个文件/文件夹: 名字中间用空格隔开:
新建多层嵌套文件夹:
mkdir a/b/c -p
查看
ls 查看当前路径下所有内容(文件名)
ls -a 查看当前路径下所有内容,包括隐藏内容
ls -l 查看当前路径下所有内容de详细信息
扩展:ls -l test.c 查看test.c文件的详细信息
-rw-rw-r-- 1 hq hq 0 7月 1 10:52 file1.c
文件类型 权限 链接数 用户名 组名 大小 修改时间 文件名
Linux中的文件类型
有7种,bcd-lsp
b:块设备文件 /dev
c:字符设备文件
d:目录文件 文件夹
-:普通文件 .c .h .txt
l:链接文件 <LinuxC高级>
s:套接字文件 <网络编程>
p:管道文件 <IO>
ls -l命令下查看文件的详细信息
-rw-rw-r-- 1 hq hq 0 7月 1 10:52 file1.c
文件类型 权限 链接数 用户名 组名 大小 修改时间 文件名
关于文件类型,三个一组,共9个
rwx:可读可写可执行 rw-:可读可写不可执行
rwx rwx rwx
自己 组内 其他
权限值:r:4 w:2 x:1 -:0
修改文件/文件夹权限:
chmod 777 file1.c
rw- rw-r-- 为664
复制
文件: cp 要复制的文件 目标地址
文件夹:cp -r 要复制的文件夹 目标地址
cp和mv区别:
cp之后源文件还在;mv之后源文件不在
重命名:cp -r 要复制的文件夹 目标地址/新名字
使用cp重命名,源文件还在
移动
mv 要移动的文件/文件夹 目标地址
重命名:mv 要移动的文件/文件夹 目标地址/新名字
删除
文件: rm 文件名
文件夹:rm -r 文件夹名字
-f 强制删除
扩展:rmdir 只能删除空目录
打开终端
- 直接点击
- ctrl shift n 打开终端,路径在当前文件夹
- ctrl alt t 家目录
关闭终端
- 直接点击
- ctrl d
- exit
vi编辑器
打开vi编辑器 vi test1.c 进入编辑器,默认是命令行模式
三种模式:
命令行模式:复制、粘贴、删除、光标移动等
插入模式:编辑代码
底行模式:保存、退出、复制、分屏、查找、替换等
命令行:
复制 yy nyy(光标选中y n:行数 复制几行)
删除(剪切) dd ndd
粘贴 p
撤销 u
反撤 ctrl r
光标移动首行 gg
光标移动最后一行首行 G
光标移动行首 0
光标移动行尾 $
插入模式 i o a I O A
底行模式:
指定行复制 5,10y 复制5-10行
指定行删除 5,10d
保存 w
退出 q
保存并退出 wq
强制 !
vsp 分屏本文件
vsp 文件名 分屏打开另外一个文件
查找 /找的东西
替换 s/a1/a2 光标所在行的第一个a1替换成a2
s/a1/a2/g 光标所在行的所有a1替换成a2
%s/a1/a2/g 改变全文
1,$s/a1/a2/g 改变全文
设置行号 set nu
取消 set nonu
取消高亮 nohl