vim
三种模式:命令模式(默认打开的模式),编辑/插入模式,底行模式
命令模式常见的操作:
- 全选:按住esc后,然后按ggvG
- 全选复制:按住esc后,然后按ggyG
- 全选删除:按住esc后,然后按dG
底行模式常见的操作:
make和Makefile
make是一个命令,Makefile是一个文件
编写Makefile,要有依赖关系和依赖方法
假设目录下有test.cpp文件:
那么Makefile就可以写为
注意:Makefile是自顶向下寻找的,直接make就执行第一个,想执行下面的clean就要make clean
一般都在clean前加上.PHONY:clean,将clean置为伪目标,伪目标总是被执行的,即总是根据依赖关系,执行依赖方法
如果目录下有多个文件
假设有main.c, test.c, test.h, 那么Makefile就可写为(注意没有.h文件)
yum [常用操作链接](yum 查看repo,安裝list等常用命令 - 知乎 (zhihu.com))
yum源:就是配置文件,写的是你要下的软件要去哪里搜索
$ ls /etc/yum.repos.d # 查看yum源仓库
CentOS-Base.repo epel.repo epel.repo.rpmnew epel-testing.repo
如果是虚拟机,可能需要更新yum源(就是把CentOS-Base.repo换成国内的yum源) 链接
yum三板斧
-
yum list
列出所有可安装的软件包,可以结合grep使用$ yum list | grep sl
-
yum intall -y 安装软件
加上-y的意思就是不用询问是否同意安装 -
yum remove 你的软件
卸载软件
git
首先要git clone 你的仓库链接
git三板斧
- git add 你的文件
添加我们的代码到本地仓库git add .可以全部添加 - git commit -m “这里要写必须日志”
提交代码到本地仓库中 - git push
提交代码到远端仓库
$ git log 可以询版本的历史
commit f3d7e8b125ebe19112b5fd86b72e74143900d41b
Author: suin <suinnnnn@163.com>
Date: Mon Oct 9 18:08:44 2023 +0800
提交测试文件
commit 9bed13a53a6947f0179a74a83c58ac839be112f1
Author: Suinnnn <suinnnnn@163.com>
Date: Mon Oct 9 09:48:04 2023 +0000
Initial commit
有时候提交会发生冲突,这时候需要刷新,只需要git pull
.gitignore文件是一个文本文件,它告诉 git 不要跟踪特定的文件、目录或文件类型。
git rm可以删除仓库
gdb
gcc,g++默认生成的可执行程序都是release的,所以无法直接被调试
$ g++ test.c -o test_debug -g # 这样该程序就是以debug形式发布的
$ gdb test_debug // 这样就可以进入调试了
基本操作
gdb会记录最近一次的操作,如果命令无变化,直接回车就好
- quit 退出
- r:开始调试,如果没有设置断点,就直接结束运行
- l + 行号,显示代码
- b + 行号,打断点
- d + 断点编号,删除断点
- info b,查看断点信息,注意显示的是行号
- n,逐过程,类似vs的f10
- s,逐语句,类似f11
- p+变量名,打印该变量的值
- bt,查看调用堆栈
- finish,执行完当前函数,接着停下来
- display + 变量,长显示,类似vs的监视
- undisplay + 变量,取消长显示
- until + 行号,跳转到某一行,通常在函数中使用
- c,运行到下一个断点就停下来
- disable/enable + 断点编号:使能(关闭和打开)断点
变量,长显示,类似vs的监视- undisplay + 变量,取消长显示
- until + 行号,跳转到某一行,通常在函数中使用
- c,运行到下一个断点就停下来
- disable/enable + 断点编号:使能(关闭和打开)断点