一、yum:相当于手机应用市场
1. yum 作用:①搜索,下载,安装;②解决依赖关系。
依赖关系:指一个程序与其他组件构成的关系。一个程序运行时往往还需要其他组件,没有这些其他组件这个程序往往运行不了,解决了这个程序的无组件问题即表示这个程序与组件构成了依赖关系。
2. yum操作:
① yum源:就是一个配置文件,文件里面写的就是你要下载的软件去哪里搜索;Linux下用指令 sudo yum install -y epel-release;
② 打开yum配置源:Linux下用指令 ls/ets/yum.repos.d;
更新yum源:自行百度。
3. yum三板斧
① yum list:把所有能显示的软件都显示出来
② yum list | grep sl:列出所有sl名称的软件
③ sudo yum install -y yes sl:安装sl软件
④ sudo remove sl:移除sl软件
附:link www.baidu.com -> sudo yum install -y htop -> sudo yum install -y oneko(装好oneko则运行)
二、Git:版本控制器。保留所有写过的版本就叫版本控制器
1. git三板斧
预备:git clone 仓库网址:把仓库放在 Linux 中
一板斧:git add 写的代码的文件名:把写的代码的文件添加到本地仓库
二板斧:git commit -m "此处填日志做了哪些改动":提交代码到本地仓库中
三板斧:git push:提交代码到云端仓库
2. 配置用户名邮箱
git config -- global user.email 邮箱:写入邮箱账号名
git config -- global user.name 名字:写入用户名
git log:查看提交记录
git pull:提交冲突时用这个命令,相当于把本地仓库与云端仓库新代码同步一下(git pull 后再 git push)
.gitignore:不想提交某些后缀的文件到远端的git仓库,就可以添加到.gitignore(相当于一个黑名单)
git rm 文件名: 删除“文件名”
三、gdb:调试代码用,用 yum list | grep lrzsz 命令安装 gdb
准备:
gcc 和 g++ 默认形成的可执行程序是release版本的,因此无法直接被调试
gcc 写的程序文件名 -o 令可执行程序名 -g
readelf -s 可执行程序名:读取可执行程序
readelf -s 可执行程序名 | grep -i debug:把“可执行程序名”中名为debug的列出
gdb 可执行程序名(有-g后形成的可执行程序):调试可执行程序
1. gdb 使用:
gdb 可执行程序:进入调试程序阶段(输入quit 退出)
list(简写l):显示代码;l 0 表示从第0行显示代码,若没显示完则回车可看见
run(简写r):开始调试,若没有设置断点,则调试结束(相当于vs2019的F5)
break point(简写为 b 行数):在第“行数”打断点
info b:查看断点(Num 表示断点的编号)
d 行对应的Num:删除第“Num对应的行”的断点
next(简写n):相当于vs2019的F10(逐过程)
p 某个变量:打印这个变量的结果
step(简写s):相当于vs2019的F11
finish:是进入函数后用finish,直接给这个函数跑完,跑完就停下来
bt:查看当前调用的堆栈
display 变量:显示变量值,是长显示的
undisplay 变量对应的编号:取消长显示编号对应的变量
until 行数:到第“行数”停下来(改行没执行)
continue(简写c):从一个断点到下一个断点
disable 断点对应的编号:对该编号对应的断点去使能(即该编号对应的断点被禁用了)
enable 断点对应的编号:对该编号的断点进行启用(即该编号对应的断点禁用被取消了)
set var 变量名=某个值:给“变量名”赋上“某个值”
四、计算机体系结构:冯诺依曼体系结构
①存储器指内存;
②中央处理器(CPU)的两大部分:运算器(算术运算,逻辑运算[如判断if])、控制器(响应外部事件)
③CPU读取数据(数据+代码),都是要从内存中读取,站在数据的角度,我们认为CPU不和外设直接交互
④CPU要处理理数据,需要先将外设中的数据加载到内存,站在数据的角度,外设直接只和内存打交道
五、操作系统:提供给用户的一个稳定、安全、简单的执行环境
操作系统是怎么做到给用户提供一个稳定、安全、简单的执行环境,例:
管理者(校长) 管理
辅导员(执行者) 驱动程序
被管理者(学生) 硬件
管理:是对被管理对象的数据的处理,管理的核心思路是“先描述再组织”,
OS(操作系统):操作系统内部一定存在大量的数据结构和算法