文章目录
终端
1.ctrl+alt+t 开启一个终端
2.alt+tab 切换不同类型的进程
3.alt+` 切换终端
截屏
1.prt sc sysrq 全屏截取
2.shift+prt sc sysrq 自定义屏幕截取
3.Alt+prt sc sysrq 当前活动窗口屏幕截取
4.ctrl+prt sc sysrq 全屏截取,并复制到剪贴板
VIM
参数
1.vim -R 文件名 (以只读方式打开文件)
命令模式(Esc键进入)
1.ZZ保存并退出
2.u 撤销上一步的编辑
3.ctrl+r 恢复撤销
4. nyy复制n行
5. p粘贴
编辑模式(命令模式下按a或i进入)
1.ctrl+p 代码提示
2.dd删除光标所在一整行
3.0跳转到该行行首,$跳转到该行末尾
末行模式(命令模式下按:或/进入)
1.:w 保存
2. :q 退出
3. :q!不保存强行退出
4. :wq 保存并退出
5. :/str 查找str , n向下查找,N向上查找
6. :1 跳转到文件第一行,:$跳转到文件最后一行
环境变量
输出环境变量
1.echo $PATH (查看单个环境变量)
2.env (查看所有环境变量)
g++
1.动态链接库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/install/lib64
2.静态链接库路径 export LIBRARY_PATH=$LIBRARY_PATH:/install/lib
3.头文件路径 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/install/include
4.程序路径 export PATH=$PATH:/install/bin
g++编译选项
1. -g
生成调试信息,该程序可以被调试器调试
2. -pipe:
管道,它可以用来同时连接两个程序,其中一个程序的输出将直接作为另一个程序的输入,这样就可以避免使用临时文件,提高编译速度,但编译时消耗更多的内存。
3.-fPIC
生成位置无关的代码(一般用于动态库.so)
4.-w
关闭编译时的警告,也就是编译后不显示任何warning
5.g++ -E 预编译
预编译,将.c文件转化为.i文件
6.g++ -S 转换为汇编文件
编译,将.c/.h文件转化为.s文件(汇编语言文件)
7.g++ -c 转换为目标文件
汇编,将.s 文件转化成 .o文件(二进制机器文件),-c代表只编译不链接
8.g++ -o 链接
-o 后面接上目标文件(.o 文件 或者 可执行程序)
9.g++ -D 宏定义
10.ar命令创建静态库.a
ar命令教学
11.创建动态库.a
gdb 调试
多线程调试
makefile
1. .PHONY
.PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的文件target
2. $@ $< $^
$@:目标项
$<:第一个依赖项
$^:全部依赖项
3. $() ${}
访问变量
4.参数 -f --file
声音架构
1.alsamixer
打开声音架构图形界面
查看二进制文件
1.hexdump -C 二进制文件 同时输出十六进制和ASCII码(特殊字符用.表示)
tee命令(数据重定向到文件)
上一阶段的stdout重定向到文件,上一阶段的stdout与stderr作为下一阶段的stdin