Linux常用工具总结

1、VIM介绍及配置

    VIM是Linux下一款非常强大的字符界面编辑器,它可以通过安装一系列的插件从而配置成为一款可以和IDE相媲美的编辑器,它可以通过以下命令来实现安装:

    yum install VIM 

使用最最原始的VIM虽然能够完成代码的编辑但是效率总归是很低,所以我们就需要将其配置成为下面这种高逼格的界面


这是通过vimplus(vim的超级安装程序)完成的,由于刚开始学习Linux,所以这些配置都是在网上看他人的博客学来的,在Linux下执行以下三条命令便可自动化配置VIM了,整个配置过程40分钟左右,因为要下载很多插件,所以耗时还是比较长的,不过为了能使用上高逼格的VIM,多等一会儿也是值得的,记住以下操作必须是要联网的哦。

    git clone https://github.com/chxuan/vimplus.git  
    cd ./vimplus  
    sudo ./install.sh  

安装完成后的效果图:


2、除VIM之外的其他编辑器
     2. 1、Eclipse
    Eclipse是一款很酷的开源代码编辑器,它拥有代码高亮和智能提示等强大的功能。在Eclipse中,完全胜任以下编程语言的工作——Python, R, Ruby, JavaScript, Natural, Lasso, C, C++, COBOL, Scheme, Clojure, Groovy等等,它也是Java集成开发环境,甚至提供了对Java 8的支持。在一些Web开发IDE特性的帮助下,你可以非常方便地对代码文件进行组织和访问。
    2.2、Brackets
   Brackets也是一款为Linux开发者设计的开源代码编辑器,使用Brackets写代码,你不会被任何事情所打断。比如在写HTML代码时,即便你没有保存代码也可以及时预览你的Web页面效果。你也可以使用Theseus来检查变量,Brackets默认提供一种主题,当然你也可以在扩展中心获取更多的主题。
   2.3、Emacs
Emacs不仅仅是一个编辑器,他是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。Emacs不仅可以作为文本编辑器,还可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、通过Telnet登录主机、上新闻组、登陆IRC和朋友交流、查看日历等功能
   2.4Light Table
  Light Table是一个免费开放源代码的编辑器,该编辑器有一个非常干净的界面,并有大量扩展。它与Windows、Mac和Linux都兼容,是高度可定制的。使用Light Table,开发者只需打开一个浏览器窗口即可实时查看更改,并且支持不同的嵌入。
   2.5Chocolat
  Chocolat本身是Mac OS X的最佳代码编辑器。该编辑器旨在与OS无缝集成,Chocolat为JS、Python和HTML提供拖放功能、拆分编辑、代码折叠和代码完成。
   2.6Sublime Text
   一个紧凑但性能较高的代码编辑器一个跨平台的代码编辑器,适用于所有WordPress项目。
Sublime Text有很多功能可以提供:
·脚本编程  ·自定义界面  ·常规文件切换  ·合成和错误检测  ·多媒体选择和编辑   ·外部插件集成   ·Themes

3、除gcc之外的其他编译器

    EGCS:包括了C/C++/Obj-C/Fortran等编译器 

   Clang:licence极度友好,代码质量非常棒,采用的IR为LLVM IR非常优秀,但是Clang依赖于的LLVM,目前的性能无法与GCC相提辩论,缺乏对GCC一些Builtin函数、自身带的汇编器的孱弱,对一些开源软件没有办法编译过去。

    ICC:没有自己专门的前端(传说中的外包),而且是针对Intel体系结构上专门优化。

   IBM XL C++:在IBM特定硬件与平台上表现非常牛逼,Benchmark性能测试非常优秀,但是在编译时间上过长,对C++标准的支持、开源软件的支持、错误信息的提示上都不够友好。

 4、为什么调试的时候需要编译选项中添加 -g?

     4.1、在 Linux 中,我们常用 gcc编译生成可执行文件, 但是可执行程序中没有可供 gdb 调试使用的特殊信息,无法使用 gdb 来跟踪或调试,因此我们需使用到 -g 选项,这样生成的可执行程序就可以使用 gdb 找出出现问题的位置,从而解决问题。

     4.2、readelf命令

  (1)readelf用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)。

  (2)选项

    man readelf

5、源码安装, rpm安装, yum安装的区别

     5.1、源码安装。源码安装的步骤:编译源码,然后安装。

    <1>安装准备

    a.首先用yum安装gcc,用于编译源码

    b.官网下载源码包

    c.winSCP  windows与linux传输文件(如果直接用要安装的linnux电脑下载就不用传输了)

    <2>安装过程

   a.解压

   b.进入解压后的目录配置软件 ./configure#大多数情况下源码包都会带configure这样一个配置工具,具体使用方法可以vim查看其内 容 。

  c.make #编译源码包,如果报错了make clean清除缓存重新make

 d.make install #安装,然后删除源码包软件和安装目录。

  5.2、 rpm安装

rpm安装就是:安装别人编译好的软件包。如果依赖的文件没有事先安装,软件无法安装成功。

rpm即Redhat Package Manager,Redhat的软件包管理方式,适用于rpm install命令。rpm不仅已经把软件源代码编译成二进制文件,而且还对软件包依赖的软件,系统环境等做了统计。文件扩展名:rpm。还有一种SRPM:没有编译成二进制文件,但是也包含rpm的特性。

   5.3、yum安装

为了解决rpm的问题,推出yum方式。既然依赖的软件没有安装在机器上,那么就先安装依赖的文件,再安装需要安装的软件。因此yum在安装软件同时安装依赖软件。因此需要一个yum源来放依赖的软文件,对比被安装机器上rpm软件库。yum也是基于rpm的。
 

6、彩色进度条的实现(代码借鉴他人的)

 1 #include <stdio.h>
  2 #include <string.h>
  3 #include <unistd.h>
  4 
  5 int main()
  6 {
  7     int n = 0;          // 进度数字
  8     char bar[1024];    // 用来存放'#' 符号
  9     const char* label = "|\\-/";   // 末尾的一个旋转   
 10     // 将bar的空间初始化为0
 11     memset(bar,0,sizeof(bar));              // 函数原型:void *memset(void *s, int c, size_t n);
 12 
 13     while(n <= 100){
 14         printf("\033[35m[%-100s]\033[0m[%d%%][%c]\r", bar, n, label[n % 4]);
 15         fflush(stdout);    // 刷新缓冲区
 16         bar[n++] = '#';
 17         usleep(100000);     // 睡眠0.1秒
 18     }
 19     printf("\n");
 20     return 0;
 21 }
 22          

 

效果:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值