Linux常用的工具

1.VIM最好用的代码补全插件,YouCompleteMe
这个插件可以时间代码的补全
安装步骤 点这里
2.能与vim相提并论的编辑器(Emacs)
在这个蔚蓝色的星球上,流传着两大神器的传说: 据说Emacs是神的编辑器,而Vim是编辑器之神。
追求独步天下的高手和低手们争着一睹它们的风采, 可看到它们朴素单薄的界面后,不禁心下怀疑: 这就是神器吗?甚至有人生了轻视之心。
肤浅的人嗤之以鼻,说:什么年代了,还抱着这么老土的玩意不放, 真他妈Geek!同学,请冷静下来,听我说:它们的确够老了, 都几十年的寿命了,但你想想为什么,为什么这么古老的编辑器, 却有越来越多的人皈依它们。
Windows下用UltraEdit和Editplus的人质问: 它们到底比UltraEdit和Editplus好在哪里?我说: 不可同日而语。
连UltraEdit和EditPlus都没用过的同学问:它们就相当于Linux上的 Notepad吧?我说:请你从我的眼前消失。
一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长, 于是在没发现它们的强大之前就放弃了,说: 太难用了,把键盘当鼠标用的烂玩意,有什么好的?
还是有一些人留下来了,坚定地守护着这两大神器。 一些说葡萄太酸的人想离开又不甘心,总是问: 它们到底神在哪里啊? 我不禁想起了李宗盛的几句歌词::
有人问我你究竟是哪里好,
这么多年我还忘不掉?
春风再美也比不上你的笑,
没见过你的人不会明了。

也许你不会明了,我还是要努力讲一讲。
3.和gcc一样牛逼的编译器(Clang)
licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,各大公司逐步发力在Clang上,包括不限于微软,IBM,Nvidia等,各大公司也在开始疯狂的往Clang / LLVM交代码(圈地),也开始往Clang实现OpenMP,Nvidia GPU等支持,目前在赶超GCC的道路上一路激情的狂奔,前途一片光明。但是Clang依赖于的LLVM,目前的性能无法与GCC相提辩论,在Benchmark性能测试上几乎没有胜利的项目,优化的道路上任重道远,同时一些开源软件没有办法编译过去,主要是缺乏对GCC 一些Builtin函数、自身带的汇编器的孱弱导致。
//vim插件YouCompleteMe的源码安装即需要使用这个编译器进行编译
4.为什么使用gdb试调需要在编译时使用-g选项
当编译时使用-g选项,gcc编译时会自动添加上关于DEBUG的相关信息,如果直接进行编译,则会默认进入Release模式

readelf命令:ELF(Executable and Linking Format)是一个定义了目标文件内部信息如何组成和组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。
可以通过readelf来区分ELF文件,每种类型文件的头部信息是不一样的。
5.Linux下的几种安装方式
源码安装:几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc、make、automake、autoconf都支持源码安装。
优点:源码安装的优点有以下几点
文档齐全
因为可以定位到代码,所以debug方便
本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
缺点:
编译麻烦
缺乏自动依赖管理,软件升级麻烦
rpm安装:rpm包安装几乎在所有Linux平台上都支持,它就像Windows下的exe安装文件一样,各种文件已经编译好,并打包,哪个文件在哪个文件夹里面都已经被指定好,所以很方便。
yum安装:yum并不是一种包,它是安装包的一个软件,在CentOS中是软件包的管理器,yum也对依赖关系进行管理,但是必须要在联网的情况下完成。

Linux常用的工具相关推荐

  1. 连接linux工具Mtr,Linux常用网络工具:路由扫描之mtr

    除了上一篇<Linux常用网络工具:路由扫描之traceroute>介绍的traceroute之外,一般Linux还内置了另一个常用的路由扫描工具mtr. mtr在某些方面比tracero ...

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

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

  3. <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使用 ...

  4. Linux 常用开发工具

    目录 1. yum 2. vim文本编辑工具 2.1 模式 2.2 模式的切换 2.3 普通模式下的常用操作 3. gcc/g++编译器 3.1 编译步骤 3.2 gcc使用 4. Makefile ...

  5. linux php使用fping,Linux常用网络工具:fping主机扫描

    Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描.主机服务扫描.路由扫描等. fping是一个主机扫描工具,相比于ping工具可以批量扫描主机. fping官方网站:http://f ...

  6. linux常用分区工具,总结:Linux系统磁盘分区常用的工具

    对于新人来说,如何给linux系统磁盘分区?对于linux的分区通常可以使用fdisk命令工具和parted工具. 对于分区表通常有MBR分区表和GPT分区表 对于磁盘大小小于2T的磁盘,我们可以使用 ...

  7. Linux常用命令工具

    1.查找特定文本中的特定字符 cat filename | grep myStr eg: cat .config | grep KCOV 2.查找特定文本中的特定字符并打印具体行数 cat filen ...

  8. Linux常用文本编辑工具及常用指令

    以下工具的使用都是建立在会简单使用正则表达式的基础上,不了解的群攻自己做功课. sed sed是一种流式编辑器,是一种文本编辑工具,以行为单位进行文本操作.sed默认按照basic规则进行匹配. 常用 ...

  9. 【Linux常用网络工具系列】dig

    文章目录 dig命令 常用命令汇总 dig +trace math.stackexchange.com 显示详情 dig ns com 和 dig ns stackexchange.com 显示详情 ...

最新文章

  1. spring IOC创建对象方式
  2. 开发人员绩效考核中有效bug数的统计
  3. 电动滑板改装 特斯拉电机 120A FVT电调的使用
  4. 微软嵌入式WEC2013产品研讨会(深圳站---2013.10.16)
  5. 21.3 共享受限的资源
  6. ZOJ Problem Set - 1730 Crazy Tea Party
  7. 牛客16426 玩具谜题
  8. 深度学习中的损失函数总结以及Center Loss函数笔记
  9. Yaf框架视频教程之入门篇【已完成】
  10. AcheGesture 简介(使用方法 / 中文教程)
  11. 四则运算界面版 结对子
  12. IE11浏览器清空缓存
  13. TPM设备管理之设备采购方法及注意事项
  14. python @property 解释
  15. IOS生物信息验证(Touch IDFace ID)
  16. 页面渲染原理,从输入url到页面展示流程
  17. MII,RMII,GMII接口详细介绍
  18. 死亡搁浅 服务器不稳定,[收集]死亡搁浅现有bug临时解决方案
  19. 在Ubuntu上安装使用 iCloud
  20. Design compiler综合教程

热门文章

  1. 试用平台常见的恶意买家退款情况以及处理方案分析
  2. 聚焦nba-- 湖人一败仍有三大收获 科比步入正轨1悍将是大发现
  3. 我的时光,因你而幸福
  4. C++小程序:拯救公主(文字游戏)
  5. HDU1004-让气球上升
  6. Ogre学习笔记(8):骨骼动画
  7. CISAW-CISDR灾难备份与恢复专业级认证
  8. 用计算机语言写的痴心男的一生历程
  9. 柚子壁纸为什么自动安装_一张壁纸能折射多少东西,侦探团成员壁纸信息大,灰原的最有意思...
  10. kali拿取路由器pin码