Linux 环境开发工具

Linux软件包管理器—yum

  • 查看软件包

    通过 yum list 命令可以罗列出当前一共有哪些软件包:

    yun list

    由于包的数量非常多,可以用 grep 命令进行筛选:

    yun list | grep lrzsz

    筛选之后: 在这里插入图片描述
    ①:软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构
    ②:“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.
    ③:“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
    ④:base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” .

    查看已经安装的软件包:

    yum list installed

  • 怎样安装软件

    sudo yum install package(软件包名字)

    注意:
    ①:安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
    ②:yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错。

  • 怎样卸载软件包

    sudo remove package_name(软件包名字)

linux编辑器—vim

  • vim的基本概念

    vim一共有 12 种模式(打开,关闭,查看,查询,插入,删除,替换,撤销,复制,普通,插入,底行),但是只需要掌握三种模式:命令模式/普通模式、插入模式、底行模式。

    命令模式/普通模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
    插入模式:只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 就可进入该模式。

  • vim的基本操作

    ①:模式切换:

    普通—>插入:i / l / a / A / o

    按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
    按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    按「A」进入插入模式后,是从行末开始输入文字;
    按「I」进入插入模式后,是从行首开始输入文字;
    按「o」进入插入模式后,是插入新的一行,从行首开始输入文字;

    插入—>普通:Esc

    普通—>底行::

    底行—>普通:Esc

  • vim 普通模式下的命令

    移动光标命令:

    • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格;
    • 按「G」:移动到文章的最后;
    • 按「 $ 」:移动到光标所在行的“行尾”;
    • 按「^」:移动到光标所在行的“行首”;
    • 按「w」:光标跳到下个字的开头;
    • 按「e」:光标跳到下个字的字尾;
    • 按「b」:光标回到上个字的开头;
    • 按「#l」:光标移到该行的第#个位置;
    • 按[gg]:进入到文本开始;
    • 按[shift+g]:进入文本末端;
    • 按「ctrl」+「b」:屏幕往“后”移动一页;
    • 按「ctrl」+「f」:屏幕往“前”移动一页;
    • 按「ctrl」+「u」:屏幕往“后”移动半页;
    • 按「ctrl」+「d」:屏幕往“前”移动半页;

    删除文字命令:

    • 「x」:每按一次,删除光标所在位置的一个字符;
    • 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符;
    • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符;
    • 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符;
    • 「dd」:删除光标所在行;
    • 「#dd」:从光标所在行开始删除#行;

    复制命令:

    • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中;
    • 「#yw」:复制#个字到缓冲区;
    • 「yy」:复制光标所在行到缓冲区;
    • 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字;
    • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

    替换命令:

    • 「r」:替换光标所在处的字符;
    • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

    撤销上一次操作:

    • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
    • 「ctrl + r」: 撤销的恢复

    更改:

    • 「cw」:更改光标所在处的字到字尾处;

    • 「c#w」:例如,「c3w」表示更改3个字;

    跳至指定的行:

    • 「ctrl」+「g」列出光标所在行的行号;
    • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首;

vim底行模式命令

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

列出行号
  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。[重要]
跳到文件中的某一行
  • 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行。
查找字符
  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。
  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。
保存文件[重要]
  • 「w」: 在冒号输入字母「w」就可以将文件保存起来
离开vim[重要]
  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

配置好用的vim

vim 的配置文件名是vimrc,共有两个:

  • ①:一个是公共的、所有用户的vimrc,对所有用户都有效。公共配置文件位于 :/etc/vim/vimrc
  • ②: 一个是私有的、个人的.vimrc。个人的配置文件是隐藏的,不进行配置的话一般是没有这个文件的,需要自己创建.vimrc ,私有的配置文件位于个人用户的主目录下:/home/用户名/.vimrc

在这里贴一个超级好用的配置,按照操作即可:如何配置好用的vim

Linux编译器-gcc/g++使用

编译过程:
  1. 预处理:展开头文件,宏替换,条件编译,去掉注释等

gcc -E test.c -o test.i
选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。
选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。

  1. 编译:检查语义语法错误、生成汇编代码

gcc -S test.i -o test.s
选项“-S”来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。

  1. 汇编:生成机器可识别代码,将汇编代码生成二进制代码

gcc -c test.s -o test.o
选项“-c”就可看到汇编代码已转化为“.o”的二进制目标代码

  1. 链接:生成可执行文件或库文件

在Windows下生成xx.exe文件;在Linux下生成xx.out文件
也可以自己指定生成可执行文件 :gcc test.o -o test

在执行程序的时候,程序需要被夹在到内存中,若多个程序使用了相同的库,则内存中就会出现大量的库函数代码冗余,这是没必要的。完全相同的库函数在内存中加载一次就够了,所以就出现了两种链接方式:

  • 静态链接:链接生成可执行程序时,直接将库中的代码拷贝一份到可执行程序中,其后缀名一般为“.a” 。优点:可以不依赖库文件的存在,库文件删除依然可以进行运行。缺点:若库文件被大量的程序使用,则运行时会造成大量的内存中代码冗余。
  • 动态链接:链接生成可执行程序时,并不拷贝代码,只是在可执行程序中记录函数位置符号信息,等到运行的时候将库中的代码加载到内存中,并且多个程序可以共享使用。动态库一般后缀名为“.so”,优点:节省资源,内存中共用一份。缺点:程序运行时,库文件必须存在。

ps:gcc 在编译时默认使用动态库.

Linux调试器-gdb使用

gdb调试程序的前提条件:
  • Linux gcc/g++出来的二进制程序,默认是release模式,要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项,使 gcc 生成 debug 可执行程序。

gcc -g test.c -o test //生成debug可执行程序
gdb test //加载程序调试

gdb调试指令
逐步调试
  • start(s):开始逐步调试
  • list(l):查看调试行附近代码。ps:还可以 list filename:line(filename 为文件名,line 为行数,下面同样)
  • next(n):下一步(不进入函数)
  • step(s):下一步(进入函数)
  • continue ( c):从当前位置开始直接运行程序
  • until(u):直接运行到指定行停下。ps:until filename : line
  • run( r):直接运行程序
断点调试
  • break(b):在某一行设置断点。ps: break filename:line 或者 break funcname(funcname为函数名)
  • info break(ib):查看断点信息。
  • delete(d):删除断点。ps:delete <断点号>。
  • print( p):打印变量内容。
  • watch:变量监控,当变量发生变化时候,程序就停下来。 ps:watchvariable_name(variable_name 为变量名)
其他指令
  • backtrace(bt):查看函数调用栈。
  • ctrl + d 或 quit:退出调试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值