-----------博文目录 ----------

1、yum软件包管理器

2、vim文本编辑器

3、大佬们都喜欢的编辑器

4、gcc编译器

5、Makefile

6、gdb调试工具

7、项目版本控制工具


  • 1、yum软件包管理器:读法 /亚姆/

  1.     yum list                  查看可以安装的软件包     | grep ** 进行筛选查看                    
  2.     yum install             安装软件包     这个命令也可以进行软件升级处理
  3.     yum remove          移除软件包    

例如:
查看可以安装的软件包:

安装 g++


升级处理

  • 2、vim文本编辑器

对文本的操作: 插入数据 保存 删除 复制 粘贴 剪切 滚动显示位置 改变输入位置
    vim 为了能够实现所有的操作,因此有很多的模式(十二种),每个模式下所完成的功能各有不同
    常用:插入模式,普通模式,底行模式
 

  • 普通模式下的操作

1、移动光标
             k 上 j 下 h 左 l 右(方向键亦可以)
             w b 单词左右移动
             ctrl f / b 上下翻页
             gg  行首 / 行尾 G                gg=G全文对齐
    2、复制
           yy    复制光标所在行
           n + yy 复制 n 行数据
    3、粘贴
           p    光标下行粘贴
    4、剪切
           s    剪切光标所在字符并进入插入模式
           dd    剪切光标所在行
           dw    剪切光标所在单词
    5、撤销
           u
    6、选择
           v 加方向键进行选择
           数据交互    CTRL + s 与虚拟机退出交互  CTRL + o 继续交互
   7、匹配
           / + 匹配的字符串

  • 3、大佬们都喜欢的编辑器,下面列举一下除vim以外的编辑器

编辑器对比
名称 特点 不足

Eclipse

1、从编写、查错、编译、帮助等等各方面为Java语言贴身定做。
2、可无限扩展的强大插件功能。
3、众多公司、厂商、组织的鼎立支持。
4、开放,自由,免费。

1、大工程时,吃内存耗cpu,依然会出现很慢、卡顿、奔溃和无响应的情况

2、插件对eclipse版本要求比较严格,插件更新速度跟不上eclipse更新速度

3、安装插件过多之后,速度变慢,有些插件安装比较麻烦

Emacs

1、Emacs是伪装成编辑器的操作系统。可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、登陆IRC和朋友交流、查看日历等功能,

2、它也是一个巨大的开放社区,在这里你能结识到更酷一些的程序员。

1、智能感知和补全不足

2、插件不完善和不友善

vim

1、VIM是纯粹的自由软件

2、无数种插件,自己选择

1、内置脚本语言有局限性

Brackets

1、1.可以实时预览

2、可以快速编辑,在HTML可以编辑CSS和JS代码。

暂无

Light Table

1、实时运行反馈,调试和搜索文档的功能

2、及时反馈功能提供了一个不同寻常的运行环境来让程序员构建抽象。

暂无
Sublime Text 3

1、具有漂亮的用户界面和强大的功能

2、可自定义键绑定,菜单和工具栏

3、跨平台

暂无

Sed

1、简化对文件的反复操作,编写转换程序

1、编辑效率低下
  • 4、gcc编译器

  • 作用:将高级语言代码编译成机器可识别的指令代码
  • 编译步骤:

1、预处理 :展开代码
            2、编译 :将高级语言代码编译成汇编代码
            3、汇编 :将汇编代码编译成机器指令
            4、链接 :执行程序,所有调用的文件合在一起执行。
                        静态链接:直接拷贝代码
                        动态链接:生成链接地址
            5、库 :保存实现函数代码的文件(后面介绍)
                    1)静态库 :生成可执行程序,链接静态库称为静态链接 ,  后缀是 .a
                        直接将库文件的代码拷贝到可执行程序中,代码冗余量大,占用资源多,对库的依赖程度低
                    2)动态库 :生成可执行程序,链接动态库称为动态链接 ,后缀是 .so
                        只记录动态库的位置符号信息,代码冗余量小,占用资源少,对库的依赖程度高
                        gcc默认链接动态库

名称 作用 例子
gcc -E 只进行预处理 gcc -E test.c -o test.i
gcc -S 只进行编译 gcc -S test.i -o test.s
gcc -c 只进行汇编   gcc -C test.s -o test.o
 gcc -o 指定生成文件名称 gcc test.o -o test

          gcc 默认生成二进制文件
      一般我们都是gcc test.c -o test(c语言)或者 g++ test.cpp -o test(c++)直接搞定(不需要指定库的时候)

  • 5、Makefile

        作用:一个文本文件,记录项目的变异规则,辅助项目的自动化编译。但是有一个make命令,逐步执行makefile记录的编译规则
        命名:Makefile / makefile
                                        
        编写:
            make:只能编译一个目标对象,如果要编译多条,需要加入 ALL
                                        
            预定义变量: $@ 目标对象 $^ 所有的依赖对象  $<  所有依赖对象的第一个
            编写规则必须是制表符开始[tab]

        执行过程:make程序在当前工作目录下找makefile文件
                1.到当前目录下查找makefile文件,找不到报错
                2.到文件找到第一个目标对象,并把这个对象当作终极目标
                3.检测这和目标对象和依赖关系的最后一次修改时间,判断是否需要重新编译,如果修改时间一样则不需要重新编译,直接退出
                4.如果目标对象不存在则直接生成,但依赖对象可能不存在
                5.为了生成终极目标,首先要保证依赖都存在,所以会先去生成所有依赖对象(依赖对象生成的依赖关系二十用户在下边定义的)

也可以这样写:

声明伪对象 :.0PHONY
    伪对象 :每次都需要重新生成新的main

  • 6、gdb调试工具

    1、添加调试符号信息    

gcc -g

    2、打开gdb环境

  1. 直接gdb打开环境,然后file+可执行文件
  2. 或者直接gdb + 可执行文件

    3、gdb调试命令
     1)显示源程序
          list:列出源程序,默认显示十行,多出的行多敲结果list命令
          list -:显示当前行之前的十行
          list n:从n行到第十行
          list start end:从第start行到end行
          show listsize:参看list显示的行数,
          set listsize:设置list显示的行数
    2)控制程序的执行
         break n:在第n行设置断点
         breadk main:在函数入口设置断点
         break main if i==10:在条件处设置断点
         info breakpoint(简写:info break):查看断点
         delete:清除所有断点
         delete n:删除n号断点
    3)程序的运行
         run:运行程序,执行到断点处
         next:单步执行,不进入函数内部:逐过程
         step:单步执行,进入函数内部:逐语句
         continue:从当前位置出发,执行到断点处
    4)查看运行是的数据
          print:显示表达式/变量的值
         print + 变量:
         print + 表达式
         print array[0]@n:显示第0个到第n个元素
         print array[n]:查看第 n 个元素
         print + 变量= 值:修改变量的值
         info display + 变量:监视,每次单步执行后会显示变量的变化
         delete display:删除监视
    5)显示函数调用堆栈信息
         backtrace(bt):显示堆栈信息
         where:显示堆栈信息
         up n:向上显示 n 层
         down n:向下显示n层

  • 7、项目版本控制工具

  • git项目版本控制工具:分布式管理
  • suv项目管理控制工具:集中式管理

  • git 三板斧
  1. git clone https-url      从GitHub上克隆代码到当前路径,这个步骤只用进行一次,在你的Linux里有该库名称的目录就行。
  2. git add file                  添加提交的文件
  3. git commit -m "***"    本地提交,***代表描述信息
  4. git push                   上传代码,后面提示就是输入用户名和密码了

问题一:
*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.
第一次会提交会出现上述问题,是因为没有初始化,或者说是没有绑定邮箱。这个时候只用git config --global user.email "xxx@xxx.com"引号里的邮箱改成自己的git上的邮箱就行了。类比第二个改成自己用户名也行。
问题二:
error: 无法推送一些引用到 'https://github.com/......
1)这个可能你当时在GitHub上删除了某些文件,这个时候你可以git pull合并后,按照提示输入描述信息,然后git push就行
2)git push -u origin +master​   强行提交试一试

附加:    =     :=         ?=         +=    的区别
                       =    用的时候赋值
                      :=    及时赋值
                      ?=   空的就赋值
                      +=  追加赋值

Linux征途——开发工具(上)相关推荐

  1. Linux征途——开发工具(下)

    博文是对前篇的一些细节处理. 博文目录 1.软件安装 2.vim插件配置 3.在vim中插入特殊字符 4.makefile--彩色进度条 1.软件安装 名称 操作 区别 YUM(Yellow dog ...

  2. 【Linux】GCC程序开发工具(上)

    00. 目录 文章目录 00. 目录 01. GNU工具概述 02. 常用文本文件 03. 常用二进制文件 04. Binutils工具集 05. GCC工具 06. 附录 01. GNU工具概述 ​ ...

  3. 安装Ubuntu 14.04系统Linux微信开发工具的笔记

    安装Ubuntu 14.04系统&微信开发工具的笔记 Ubuntu 14.04系统所需硬件配置低,我所使用的1.9GRAM笔电上正是安装的此系统. 最近因为崩溃重装了一次,并接着安装了linu ...

  4. java连接stk外部接口_SLWSTK无线开发工具上的外扩串口如何使用(虚拟串口/VCOM)...

    标题:   SLWSTK无线开发工具上的外扩串口如何使用(虚拟串口/VCOM) 关键词:ZigBee, 串口,VCOM,虚拟串口,外扩串口,EFR32, PCB4001,  EFR32MG13P732 ...

  5. 【Linux系统】开发工具(上) {软件包管理器yum,更新yum源,文本编辑器vim,vim的四种基本模式,vim指令集,代码编译器gcc/g++}

    一.软件包管理器:yum 1.1 yum是什么? Linux下软件的安装方法: 源码安装:下载源码,在本地自行编译,然后才能安装. rpm安装:红帽软件包管理工具,属于安装包安装. yum安装:本身会 ...

  6. vs2017 linux工程设置头文件,使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 VS2017亮点很多,包括模块化安装.启动速度加快(第一次启动加快50%以上).github插件.启动页完善.增强代码提示功能,等等,更多参考:https://w ...

  7. Linux 10分钟掌握Linux常用开发工具及编译的四个过程

    Linux下的常用开发工具 软件包管理工具 yum–类似于手机上的应用商店(管理当前系统中能够安装的工具以及卸载的工具,并且实现安装及卸载操作) 1.查看所能安装的软件:yum list 查看所有工具 ...

  8. M的编程备忘录之Linux——基础开发工具

    目录 1.Linux软件包管理器 yum 1.1.查看软件包 1.2.安装软件 1.3.卸载软件 2.Linux开发工具 vim 2.1.vim的基本概念 2.2.vim的基本操作 1.进入vim 2 ...

  9. <Linux常用开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile等)>——《Linux》

    目录 1.Linux 软件包管理器 yum 1.1什么是软件包: 1.2 关于 rzsz: 1.3 如何安装软件: 1.4 如何卸载软件: 2.Linux开发工具 3. Linux编辑器-vim使用 ...

最新文章

  1. [译]ES6新特性:八进制和二进制整数字面量
  2. 在配置文件(.settings、.config)中存储自定义对象
  3. 第五章 ORacle用户管理(1)
  4. 一步一步学Silverlight 2系列(20):如何在Silverlight中与HTML DOM交互(下)
  5. 旋转研究(矩阵,欧拉角,四元数)
  6. Atitit.会员卡(包括银行卡)api的设计
  7. 解决: Couldn‘t find meta-data for provider with authority xxx.fileProvider
  8. 前端下载音频的两种处理方式
  9. 基于javaweb,springboot银行管理系统
  10. Cortex-M3 (NXP LPC1788)之GPIO
  11. python 短信_Python怎么接收手机短信?
  12. Redis入门总结(二):主从复制,事务和发布订阅
  13. MongoDB:shutting down with code:100
  14. 解决百度ueditor富文本编辑器不能插入视频的问题/src掉链/src清空,不能显示视频
  15. Android Studio 作业 BMI 计算器
  16. 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。
  17. 极致视觉追求 六款热门高清屏笔记本推荐
  18. html中好看的按钮,html 好看按钮
  19. 5分钟搞懂计算机的各种时间(GMT、UTC、CST)
  20. typescript-pdf教程 下载

热门文章

  1. iClient for Leaflet加载MVT矢量瓦片并注册鼠标事件
  2. 发现一个好用的pytorch框架:timm
  3. 解题思路-LeetCode第713题:乘积小于K的子数组
  4. 毕业生网上跳蚤市场的设计与实现--毕设作品
  5. SSL/TLS Bar Mitzvah Attack 漏洞 [ 受诫礼(BAR-MITZVAH) ]
  6. OTA: Optimal Transport Assignment for Object Detection 原理与代码解读
  7. 驱动级键盘模拟(C#)
  8. 从脑成像技术到麦克斯韦方程(CT成像原理与电磁波概念)
  9. Fielding的博士论文学习笔记(一)——REST架构风格形成
  10. 串联/并联谐振电路及其应用