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. HDFS2.X架构及工作原理
  2. Editplus查找替换的正则表达式应用说明
  3. 【学习总结】数学-欧拉函数
  4. python 字符串替换_Python,字符串。替换()和\n
  5. 【CodeForces - 827A】String Reconstruction(并查集合并区间,思维)
  6. 是引进外部函数吗_使用PowerBI的这两个函数,灵活计算各种占比
  7. wordpress使用 ftp使用问题总结
  8. 静电场与电流场_2021高考复习:静电场考点突破微专题11 带电粒子在交变电场中的运动 9.26...
  9. html php插入百度地图定位
  10. 计算机一级考试 文字录入,计算机一年级《文字录入》期末考试题(理论)B
  11. java网吧系统_基于Java的智能网吧管理系统.doc
  12. java前后端分离怎么测试,前后端分离如何提高开发测试效率
  13. 非常好用且快速的Youtube下载命令行工具yt-dlp
  14. 热电偶的工作原理及结构 1
  15. python脚本控制ios手机app_appium 下 python 脚本自动化测试iOS APP 实例
  16. 洛谷P2437 蜜蜂路线
  17. 天气预报 增加公历节日信息(1.确定时间2.第几周第几天) 和 农历节日信息 体力活+外码
  18. 计算机网络—ip数据报分片
  19. mysql rollback to,MySQL存储过程SAVEPOINT ROLLBACK to
  20. 金融python入门书籍_零基础想系统地学习金融学、量化投资、数据分析、python,需要哪些课程、书籍?有哪些证书可以考?...

热门文章

  1. 糊里糊涂进了微盟Java内招群,抱着试试的想法投了简历,没想到面试通过了
  2. 路由(route) 交换机(switch)简介
  3. 【玩具】PSN中文站指定游戏成就数据获取
  4. 老菜鸟迈出的第一步——Android调用WebService碰到的种种问题
  5. java yuv420sp转nv21_Android图片格式NV12(YUV420SP)转YUV420P
  6. 自复式过欠压保护器的优势
  7. 5大主流浏览器的差异
  8. 【前端】移动端白屏问题及其优化方案
  9. 江浙沪地区计算机考研高效排名,南京这五所双非大学,就业容易超末流985,江浙沪认可度较高...
  10. 看病要排队 HDU - 1873 题解