Linux工具_vim,make和Makefile, yum,git,gdb

vim

三种模式:命令模式(默认打开的模式),编辑/插入模式,底行模式

命令模式常见的操作:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 全选:按住esc后,然后按ggvG
  • 全选复制:按住esc后,然后按ggyG
  • 全选删除:按住esc后,然后按dG

底行模式常见的操作:

image-20231017195849410

make和Makefile

make是一个命令,Makefile是一个文件
编写Makefile,要有依赖关系和依赖方法

假设目录下有test.cpp文件:

那么Makefile就可以写为

image-20231017203132888

注意:Makefile是自顶向下寻找的,直接make就执行第一个,想执行下面的clean就要make clean

一般都在clean前加上.PHONY:clean,将clean置为伪目标,伪目标总是被执行的,即总是根据依赖关系,执行依赖方法

如果目录下有多个文件

假设有main.c, test.c, test.h, 那么Makefile就可写为(注意没有.h文件)

image-20231017210007827

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三板斧

  1. yum list
    列出所有可安装的软件包,可以结合grep使用

    $ yum list | grep sl
    
  2. yum intall -y 安装软件
    加上-y的意思就是不用询问是否同意安装

  3. yum remove 你的软件
    卸载软件

git

首先要git clone 你的仓库链接

git三板斧

  1. git add 你的文件
    添加我们的代码到本地仓库git add .可以全部添加
  2. git commit -m “这里要写必须日志”
    提交代码到本地仓库中
  3. 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会记录最近一次的操作,如果命令无变化,直接回车就好

  1. quit 退出
  2. r:开始调试,如果没有设置断点,就直接结束运行
  3. l + 行号,显示代码
  4. b + 行号,打断点
  5. d + 断点编号,删除断点
  6. info b,查看断点信息,注意显示的是行号
  7. n,逐过程,类似vs的f10
  8. s,逐语句,类似f11
  9. p+变量名,打印该变量的值
  10. bt,查看调用堆栈
  11. finish,执行完当前函数,接着停下来
  12. display + 变量,长显示,类似vs的监视
  13. undisplay + 变量,取消长显示
  14. until + 行号,跳转到某一行,通常在函数中使用
  15. c,运行到下一个断点就停下来
  16. disable/enable + 断点编号:使能(关闭和打开)断点
    变量,长显示,类似vs的监视
  17. undisplay + 变量,取消长显示
  18. until + 行号,跳转到某一行,通常在函数中使用
  19. c,运行到下一个断点就停下来
  20. disable/enable + 断点编号:使能(关闭和打开)断点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值