class="hljs-ln-code"> class="hljs-ln-line">$ sudo yum install -y lrzsz class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

若你使用的是Ubuntu那么就需要安装的是apt,对应的安装指令如下所示:

  1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"># Ubuntu
  2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">$ sudo apt install -y lrzsz
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

当我们使用以上的指令进行yum的安装就会发现会出现以下的问题,这其实是由于在Linux当中安装yum这些包管理器是需要使用root或者进行指令提权的,因此在普通用户下要进行yum的安装就需要在以上指令之前加上sudo 

 

 

注:在Linux当中的软件,root安装了,普通用户也是能使用的,因此软件只要安装一次即可

在此要卸载yum/apt需要使用到以下的指令

  1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"># Centos
  2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">sudo yum remove [-y] lrzsz
  3. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"># Ubuntu
  4. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">sudo apt remove [-y] lrzsz
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

安装了yum之后接下来我们就可以来了解如何使用yum来安装、卸载软件了

在此使用以下的指令就可以将罗列出当前⼀共有哪些软件包

yum list  class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

但由于包的数目可能非常之多, 这里我们需要使用以下的指令,grep 命令只筛选出我们关注的包

yun list | grep XXX class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

之后要安装对应的软件就使用以下的指令

yum install [-y] XXX class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

要卸载相应的软件就使用以下的指令 

yum remove [-y] XXX class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

其实在Linux当中是有很多好玩的指令的,通过yum/apt等安装之后就可以使用了,例如在Centos当中只要使用yum安装sl之后再使用sl就会出现一个火车的动图

yum intall [-y] sl class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 

 

注:如果你还想了解更多好玩的指令可以自己查阅 

 

2. 编辑器Vim

在了解了yum之后接下来我们就月嫂了解在Linux当中的编辑器,其实在Linux当中的编辑器其实是有很多的,不过最经典的是接下来我们要学习的vim。在此了解了vim的基本使用之后我们就可以在Linux当中编写代码了,并且使用熟悉之后会比之前的效率要高许多

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,⽽且还有⼀些新的特性在⾥⾯。例如语法加亮,可视化操作不仅可以在终端运⾏,也可以运⾏于x window、 mac os、 windows。

2.1 见一见vim

在此当我们要使用vim来编辑指定文件的内容时之需要使用以下的指令即可

vim [文件名] class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

在此如果vim之后的文件是不存在的,那么就会自动的在当前的路径之下创建对应的文件

 

注:在此你的vim打开和我的vim可能是不同的,这时因为vim没有进行配置时默认就是和记事本一样的,只要进行配置之后就可以显示行号;高亮等。

以上我们就写了一个简单的C语言的代码,那么要将test1.c内的代码能运行起来,那么就需要使用到gcc,在此gcc的详细知识在下一篇当中会进行讲解,在此你只需要先知道我们写的代码要通过gcc编译之后才能形成可执行程序

使用了gcc之后默认就会形成a.out

 

之后运行a.out就可以得到原来test.c输出的结果

 

2.2 vim的多模式

在以上我们已经见到了vim的使用,那么接下来就来了解如何使用vim

2.1 命令模式

光标移动

当我们使用vin打开了我们创建了一个文件指之后,接下来使用vim打开之后这时你会发现你点键盘上的大多数按键都没有反应,其实这是当打开vim时默认所处的是命令模式此时只能进行相关的命令操作

在此vim的命令模式当中一般进行的是光标的移动,以及代码片段的删除、复制、粘贴 。

 那么接下来就来了解命令模式当中的各个命令

将文件当中的光标运移动到文本的开头就使用以下的命令

gg class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

如果是要移动到指定的行就使用 n+gg 在此n表示的是要光标移动的目标行数

 

要将文件当中的光标移动到文本的末尾就使用以下的命令

shift+gg class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 以上命令其实就是GG,按住键盘的shift键之后再点击gg

和使用gg类似使用GG是也可以将光标移动到文本当中的指定行,只需要在使用GG之前输入指定的行号即可

除了以上将文本的光标移动到文本的开头、末尾、指定行之外,有时当一行的代码很长时使用方向键移动就很慢,那么此时就可以使用以下的命令

  1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">shift+4=$ 将光标移动到行尾
  2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">shift+6=^ 将光标移动到行首
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 

如果要将光标进行上下左右的移动,就需要使用到h、j、k、i,在此h表示左;i表示右;j表示下;k表示上

在此你可能就会又疑惑了,在键盘当中不是有对应的方向键吗,那为什么还要使用这些字符键来表示方向?

这其实是因为vim是很早就出现了,而在那时键盘还是像如下所示的,可以看到是没有方向键的,就是使用hjkl这四个键来表示方向键,虽然现在的键盘都是有方向键的,但是在一些情况下方向键可能会出现无法使用的情况,因此在此我们还是要学习hjkl表示方向。

在行内光标的移动过程当中为了提高效率,以下的命令可以实现行内光标以单词为单位的前后移动

n+w/b  class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

以上的单词不是我之前认识的英语单词而是由vim内部判断的有效单词

其他命令

以上我们了解了关于文本当中光标移动的相关命令,那么接下来来了解其他的命令

当我们要将文本当中的一段文本进行复制时就可以使用到以下的指令

n+yy class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

在此n表示的是从当前行开始要复制文本行的行数

例如以下示例:

如果要将第7行复制就需要将光标移动到第7行之后再使用yy

要将复制之后的文本进行粘贴就需要使用以下的命令

n+p class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

在此n表示的是要将之前复制的内容粘贴的份数,并且张贴过程是将粘贴到当前行的下一行

例如以下示例:

点击10p之后就将之前复制的第7行粘贴10遍

如果是要将一部分的文本进行裁剪或者是删除就可以使用以下的命令

n+dd class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 以上n表示的是要裁剪的从当前行开始的行数

例如以下示例

要将从13行开始的文本删除5行就可以使用5dd

当要将文本当中的快速的进行大小写的切换就需要使用以下的指令

shift+`=~ class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

 例如以下示例

要将文本当中的第7行字母全部切换为大写就只需要一直按住shift之后再点击`即可

 

要进行命令模式当中行内的删除就需要使用以下的指令

n+x/X class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

在此使用x是可以将当前光标之后的一个字符进行删除,X是可以将当前光标之前的一个字符进行删除。n表示的是要进行删除字符的个数

在一些情况下可能只是要将文本进行替换,那么此时就可以使用以下的命令

n+r class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

不过一般以上都是在进行小范围的文本替换,如果要进行较大文本的替换就可以使用shift+r进入到替换模式

如果要对之前进行的命令进行撤销那么该如何做呢,在此只需要使用以下的指令

u class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

只要在命令模式当中输入u即可,但是如果要对u进行撤销呢?

此时就需要使用ctrl+r

因此在vim当中u和ctrl+r可以相互进行撤销

注:只要不退出vim就可以进行撤销,但是只要退出了vim就无法将上一次的操作进行撤销 

2.2 底行模式

在vim当中底行模式可以进行文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

当我们进入vim时默认进入的示命令模式,如果要进入底行模式就需要使用以下指令

shift+; class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

以上其实就是在命令模式当中输入 : 即可进入底行模式,接下来就可以进行一系列的操作 

要从底行模式退回只需要点击键盘的ESC键即可

如果要使得文本显示含行号只需要在底行模式当中输入set nu即可,要去掉行号输入 set nonu

在此要搜索文本当中的字符只需要输入 /XXX ,XXX表示的就是要进行查询的字符,之后光标就会移动到该字符的位置

 

在此要退出vim只需要在底行模式当中输入q,如果要保存修改的文本并退出输入的是wq,但是在一些情况下即使是root也无法退出此时就需要输入wq!,在此!表示的就是强制退出。

在一些情况下我们可能需要退出vim再进行一些操作,但是退出vim之后再进入这一操作就显的较为繁琐,因此为了解决这一问题其实在vim的底行模式当中其实可以可以直接在要输入的命令之前加上!,这样就可以在不退出vim的情况下执行对应的命令

例如以下示例:
当前在vim下要使用ls指令,只需要打开底行模式之后输入!ls即可

在一些情况写我们写的程序可能是包含多文件的,那么进行该程序代码的编写就要在几个文件之间的切换效率就很低下,因此在vim提供以下的命令来进行多文件的编写效率的提升

vs [文件名] class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

在此vs是可以在打开了两个文件之后再打开文件的,只需要进行使用vs [文件名]  

例如以下示例:

如果当前我们处在test1.c下还要再打开test.h那么就可以使用vs test.h ,这样就可以将两个文件都显示出来

如果要将光标切换到另一个文件时只需要使用以下的命令,此时当前文件的光标就会移动到另一个文件当中

CTRL+ww class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

2.3 插入模式 

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

要进入插入模式需要在键盘当中点击i,按“i”进入插入模式后是从光标当前位置开始输入文件。如果要从当前光标的下以行进行输入需要点击键盘当中的a。若要插入新的一行,从行首开始输入文字需要在键盘当中输入o

在此插入模式就不进行讲解,,之后我们进行代码的编写都是要在该模式当中进行

在插入模式其实也是可以不用退回命令模式再保存退出的,有一种快速保存退出的方式就是直接使用SHIFT+zz

2.4 补充实用操作

在以上我们已经了解了基本的vim的使用方式,接下来了解了解几个vim当中的实用命令操作,了解之后在使用时能大大提到我们的效率

1.批量化注释

在我们使用vim进行代码的编写时可以会出现要将一大段的代码进行注释,当然我们是可以进入插入模式之后再一行一行的注释,但是这样的效率太低下了,接下来就来了解更高效的方式

在此只要先使用CTRL+v进入视图模式之后再使用 hjkl选定要进行注释的行 再使用shift+i进入到插入模式,再点击ESC就可以实现批量化的注释

例如以下示例: 

2.批量化去注释

如果要批量化的去除注释,只需要先使用CTRL+v进入视图模式之后接下来再使用hjkl选定要删除注释的行,再点击键盘当中的d就可以实现批量化注释的删除

例如以下示例:

 

3.进行文本内的替换

如果要将文本内的字符替换为指定的字符,那么就可以在底行模式当中使用到以下的指令

%s/[要被替换的字符]/[要替换的字符]/g
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

例如以下示例,要将文本当中的world 替换为linux就可以使用以上的命令

4.使光标跳转指定行

其实在打开使用vim打开指定的文件时光标默认是停在之前退出的位置,那么如果要使得光标跳转到指定的文本的行就需要在使用vim打开文件时加上要跳转的行号

vim [文件名] +[行号] class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

例如以下示例:

5.快速调用历史命令 

在之前我们就了解过可以使用上下键和ctrl+r来调用历史的命令,但是确实还有更快速的方式就是直接使用!外加原来命令的首个字母

 2.5 vim模式关系图

以上我们了解的命令模式、底行模式、插入模式、视图模式、替换模式之间的关系图如下所示

因此当我们不知道所处的是什么模式下就只需要无脑的ESC这样肯定能退回命令模式

注:其实除了以上地5大模式之外,vim内还有其他的模式,只不过这5大模式已经完全能满足我们的日常使用了

2.6 vim配置

之前你打开vim时会发现vim就和普通的记事本一样,这是因为没有进行文件的配置,那么接下来就来了解该如何进行配置

配置文件的位置
• 在目录 /etc/ 下⾯,有个名为vimrc的⽂件,这是系统中公共的vim配置文件,对所有用用户都有
效。
• 而在每个用户的主目录下,都可以自己建⽴私有的配置⽂件,命名为:“.vimrc”。例如,/root
⽬录下,通常已经存在⼀个.vimrc⽂件,如果不存在,则创建之。
• 切换用户成为⾃⼰执⾏ su ,进⼊自己的主工作目录,执⾏ cd ~
• 打开自己⽬录下的.vimrc⽂件,执⾏ vim .vimrc
常⽤配置选项,用来测试
• 设置语法⾼亮: syntax on
• 显示行号: set nu
• 设置缩进的空格数为4: set shiftwidth=4

但是这时你玩可以会觉得自己配置太麻烦了,那么有什么办法能一键完成配置的方法呢?

在此你可以将以下的脚本链接粘贴到命令行当中,注意在使用该脚本时最好在普通用户下,不要在root当中使用

注:以下只能在Centos当中使用

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

输入之后接下来只需要输入root密码即可自动完成vim的配置 ,接下来就是耐心的等待

 

以上配置默认的缩进是两个字符的,之前我们使用的vs当中默认缩进是4个字符,因此你如果要把缩进修改为4个字符就需要进行以下的操作

使用链接安装了之后就会发现出现了许多的插件 

 

接下来就是使用vim打开.vimrc ,再在底行当中输入/2点击回车,将以下的2都替换为4即可

 

如果你想了解更多的关于vim的配置可以看以下的文章

Vim 从入门到精通

3.解决sudo无法使用问题

在了解了vim的使用之后接下来我们就可以来解决之前在使用sudo时无法使用的问题,其实之前就说过是由于没有将普通用户写道相关的配置文件当中,那么接下来就来讲解如何将配置修改指定的配置文件

在此通过ls就可以看到以下的文件只有root有读权限,因此要修改该文件只有使用超级用户才能执行

 因此接下来就需要切换到超级用户在使用vim打开指定的文件

之后在100行左右就可以看到相关的配置信息,此时就将要写入的用户的用户名和root类似之后也带上ALL=(ALL)       ALL写入到该文件另起一行当中即可 

 

此时使用wq保存退出是会出现以下的警告的,这是因为该配置文件即使是root正常情况下也是不能修改的

 

此时就需要使用wq!来强制保存退出

完成以上的操作之后接下来就可以正常地使用sudo了

 

 

以上就是本篇的全部内容了,接下来还会继续带来Linux当中其他基础的开发工具,未完待续……

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://zhuohongze.blog.csdn.net/article/details/145761084","extend1":"pc","ab":"new"}">>
注:本文转载自blog.csdn.net的mljy.的文章"https://blog.csdn.net/2303_81098358/article/details/145761084"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!