【JZ2440】【知识点2】【Linux系统常用工具】

    本文会介绍:文本编辑器、Shell命令行解释器、编译工具、调试工具、集成开发工具、项目管理工具等。


一、文本编辑器

       作用:文本文件、数据文件、程序源文件、笔记、报告、备忘录的编写。

       Linux系统中文本编辑器有viemacsgeditexed等。

       重点介绍vi编辑器(注:vi编辑器处理文件时,文本是被放在系统内存缓冲区的存储区域中,当对其编辑时,操作只会影响缓冲区中的文本,而不会影响磁盘上的文本,只有发出保存命令时,所有对文件的增加、修改、删除操作才会生效,实际磁盘上的文件才会发生改变)。

       Vi编辑器有三种工作模式:命令行模式、输入模式和末行模式。三者之间是协同工作的,可以通过相应的命令或者操作进行切换。

       命令行模式:vi最初进入的状态模式,键盘上所有的键都是程序控制命令键。用户可以输入各种合法的命令来进行控制操作,如:光标的移动、字符串的删除、复制、粘贴及查找等任务。在该模式下,用户无法在编辑窗口中编写相应的文字,输入的字符也仅当做一种命令,并且不会显示,如果输入了非合法命令,vi会响铃报警。

       输入模式:在命令行模式下输入:插入命令i、附加命令a、打开命令o等就可以进入文本输入模式。在该模式下,除Esc键作为回到命令行模式的键外,其它所有字母和数字都作为输入键,用户输入的任何字符都被vi当做文本类容保存起来,并将其显示在屏幕上。三种模式中,只有此模式能对文本进行编辑和修改。

末行模式:光标位域屏幕的最后一行,用户只有在此模式下才能进行文件保存和退出操作。在末行模式结束后,系统自动回到Shell命令提示符下,标志着完成了文本的编辑工作。


二、Shell

       Shell两种含义1、是命令行解释程序的简称,2、作为一种高级程序设计语言(用来编写Shell script)。

Shell是用户与操作系统交互的接口。它接收用户命令(如ls等),然后调用相应的应用程序。这种通讯可以以交互式方式执行,从键盘输入并且立即得到响应,或者以非交互(Shell script)方式执行,Shell script是命令行命令简单的组合到一个文件。

       同时Shell作为一种高级程序设计语言。有独立的语法结构,用户可以方便地使用Shell编程语言作为高级编程语言来编写Shell script

       Shell有多种版本,常见的版本有Bourne Shell(简称sh)、C-Shell(简称csh)、Korn Shell(简称ksh)、Bourne Agine Shell(简称bash)。Linux下默认Shell程序是bash

  交互式Shell与非交互式Shell的区别

       交互式模式就是Shell等待你的输入,并且执行你提交的命令。这种模式被称为交互式是因为shell与用户进行交互。

       非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。


三、编译工具

    用于Linux下的一套代码工具:GNU Binutils工具集、GCC编译器、GDB调试器、makefile文件、集成开发工具。

关系:BinutilsGCC是紧密相连的,没有Binutils工具集,GCC无法正常工作,因为Binutils工具集帮助GCC在预处理和编译之后完成汇编和链接工作,以生成目标板上可执行代码。而GDB调试器只能与GCC编译器搭配使用,只能调试GCC代码,不能对其它编译器的代码进行调试。

Make工具则主要针对大中型项目、数千个文件的编译,当只修改了项目中的极少数代码情况下,重新对整个项目编译是不明智的,因为,有些文件根本就没有变,不需要重新进行编译工作(语法错误检查、函数与变量是否声明等),只需要在最后的链接阶段完成整个函数的链接和全局变量的替换就可以。而Make工具作用:让系统对没有修改过的文件不重新编译。


四、集成开发工具

    前提:vi是一个编辑器(用于编写代码,然后在命令行使用GCC编译),Binutils是一个GNU软件开发工具包,里面包含各种工具(汇编器、连接器等等),GCC是一个编译器,GDB是一个调试器,同时还有各种库文件等等,这些工具都是组合起来使用的,而把这些工具都集成在一个工具里面,我们称这种工具为集成开发环境(IDE)。

    在商业化的软件如KEILIAR等等,他们把很完善的功能都集成在了一个带有界面的程序中,所以叫他们IDE即集成开发环境。对于很多新手或刚入职的工程师来说,这样的软件极大的简化了他们距离实际编写程序的距离。但缺点也显而易见:它阻碍了程序员对编译器以及编译过程的理解,也在集成化的过程中缺少了很多可选择的高级功能。

    在大型项目中,单纯在命令行下开发,效率显然不是很高,所以,在Linux下常用的IDE开发工具主要有:EclipseKDevelopSource-Navigator


五、项目管理工具

    作用:在已经写好程序的情况下,有时会对代码进行调整、修改、优化等等操作,而一旦改错位置,或者误操作,很可能修改之后,系统变得不可执行,错误等。这时,就需要项目管理工具来把整个系统代码自动恢复到一个已知的、正常工作的版本。如果没有项目管理工具,在开发时就必须小心谨慎,事事标记,以防止在巨大调整之后出现的系统bug

       Linux下常用的项目管理有很多,主要包括以下几种:RedmineDotProjectCVSSubversionSVN)。其中SVN是在CVS基础上开发的一款工具,是Linux下最为流行的项目管理工具。

    然而Git最为后起之秀,近段时间异常火爆,最后我选择了学习Git。

    最后:感谢《Liunx常用工具速查使用手册》--吴同海  这本书,让我对一些基本工具的分类,如,编辑器、编译器的区别,项目管理工具的存在,Linux下常用工具的认识,有了一个全面的了解和区分,扩展了我的认知,我认为写着认识对于以后在其它平台下的学习也大有裨益。


                                                         ——Linux常用工具速查使用手册  华清远见嵌入式培训中心 吴同海 等编著

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值