网络运维学习笔记:vim编辑器及bash特性

author author     2022-08-25     241

关键词:

在本周学习中我们学习了vim编辑器的用法及对bash特性的简单了解,下面我们分别来解释这些内容。

一、vim编辑器

1、使用vim编辑器同时编辑多个文件时: vim FILE1 FILE2 FILE3 ........

  其中:next 查看或编辑后一个文档的内容

   prev 查看或编辑前一个文档的内容

   first 查看或编辑第一个文档的内容

   last 查看或编辑最后一个文档的内容

2、vim -o 分屏显示多个文档内容 横屏

 vim -O 分屏显示多个文档内容 竖屏

  Ctrl+w,s 将一个文件水平分屏显示

  Ctrl+w,v 将一个文件分屏竖直显示

这些命令操作主要是方便同时创建并编辑多个文件,使得一屏多显更方便对文件的编辑查看。


二、bash特性

本周我们主要学习了bash特性的主要表现及一些相关命令的操作方法。

1、命令别名:自定义命令

使用alias命令可以用来定义和显示命令的别名。但是使用alias命令定义的别名,其生命期仅为当前shell的生命值。

对于每个用户来说,都有一个私有的bash配置文件,用于保存别名。~/.bashrc

所以在这里我们需要注意的地方有以下几点:

   1).alias命令的效果仅限于当前shell的生命期

   2).如果修改.bashrc配置文件,其中保存的别名并不会立即生效,只有在重新加载该文件的内容后,才会生效,且永久生效。

   3).为了能够保证我们设置的别名有效,通常两种该操作都要做。

  撤销别名的命令:unalias:  unalias name

2、命令历史

   bash进程会保存其会话中用户曾经执行过的命令,以方便用户重复执行某个命令。

   通过bash提供的历史命令文件来持久的保存此前执行过的命令,每个用户都有其自己私有的历史文件。

   登陆shell的时候,bash会自动读取~/.bash_history文件中所记录的所有命令。

  1)、history命令:

   -c:清空历史缓冲区的历史命令

   -d OFFSET:删除特定历史命令条目

 2)、重复执行前一个命令的方法:

   1.使用上方向键,回车执行

   2.ctrl+p

   3.-1

   4.!!

 3)、重复执行历史命令中的命令:

   Number:重复执行历史命令中编号为“number”的命令。

   STRING: 从历史缓冲区中查找最近一次查找过的以“STRING”开头的命令,并执行

   -number :执行历史缓冲区中倒数第“number”条命令。。

   Ctrl+r :在历史缓冲区中实施搜索,回车执行即可。

 4)、重复使用历史命令中的一部分:

   $ :表示最后一次命令中的最后一个参数。

   Esc.   同上

   Alt+.   同上

   ^ :表示最后一次命令中第一个位置的参数。

   !:number :表示最后一次命令中第“number”个位置的参数

   SEQUENCE:NUMBER : 表示历史缓冲区中第“SEQ”个命令的第“number”个参数。

   STRING :^|$|*|NUMBER

5)、与历史相关的bash变量

   HISTSIZE

   HISTFILESIZE

   HISTTIMEFORMAT

   HISTTIMEFORMAT=%F %T

   HISTCONTROL:

Ignoredups:忽略连续且相同的命令的历史缓存

Ignorespace:忽略以空白字符的命令

Ignoreboth:以上两个命令都启用。

3、快捷键的使用方法

  C-->ctrl

  M-->Alt

  E-->esc

  DEL-->backspae

  

  C-L:clear  清屏

  Ctrl a 将光标跳转至命令行行首

  Ctrl e 将光标跳转至命令行尾

  Ctrl k 删除光标所在位置至行尾的命令行信息

  Ctrl u 删除光标所在位置至行首的命令行信息

  Ctrl c 结束前台进程,取消命令的运行

4、命令补全机制

  命令补全机制有两个方面的理解,命令本身字符串的补全,参数的补全。

shell命令的执行过程:

1).shell会根据用户键入回车来判断用户的输入结束

2).shell会将收集到的命令信息,根据空白字符来分段(token),第一个分段被理解为命令字段。

3).判断一个字段是内部命令还是外部命令,如果是内部命令,则直接运行,如果是外部命令,通过PATH变量所指示的路径信息,去查找相关的位置,以确定是否存在同名文件,如果有就执行,否则就报错。

  4).判断选项是否正确,判断参数是否正确。

使用tab键可以完成命令补全:

如果给出的字符串不能作为唯一标准,则bash不予补全。再次敲打tab键,bash会给出参考列表,如果参考列表中的内容过多,bash会询问是否显示该列表。

根据提供的参考路径来进行补全,如果参数没有任何提示信息,则默认从工作目录进行查找。

5、命令行展开

   ~bash会自动将其展开为当前登陆用户的家目录。

  ~STRING:bash会自动将其展开为以“STRING”为用户名的用户家目录。

  ~+:调用shell变量“PWD”的值

  ~—:调用shell变量“OLDPWD”的值

 {}:在花括号中可以填充一个以“,”分割开的路径列表,bash会将其展开为多个独立的路径。

6、命令的执行结果

  任何一个linux命令都有两种执行结果。

  其一:命令的正常输出结果。 跟用户需求相关的返回内容

  ``:反向单引号,反引号

  $() :标准的命令引用格式

  wc:统计一个文件中有的行数字数及字节数。(-c  -l  -w)

   命令的执行状态返回值。 跟命令执行成功与否相关的返回内容。

   保存在bash的一个特殊变量中:$?

   0:命令执行成功

   1:表示小的问题

   2:表示严重问题

   127:表示命令本身出问题

   3-126128-255:用户自定义状态信息

7、引用功能

  ‘’ :强引用

凡是被单引号引用的内容,,bash一律将其视为普通字符,即使其本身有特殊功能和作用也如此。但单引号本身是个例外。

“”:弱引用

  被双引号引用的内容中有一些特殊字符仍然会保留其特殊含义。比如$,,“”

8、转义功能

  : bash中定义的转义字符,只能使其后一个字符失去意义。

9、Globbing 文件名通配,简称为glob

  元字符:

*:匹配任意长度的任意字符,某些特俗位置的“.”字符不能被匹配

?:匹配任意单个字符,必须且只有一个字符被匹配

[ ]:匹配指定范围内的任意单个字符,必须且只有一个字符被匹配

[a-z]:a,A,b,B,c,C............y,Y,z

[A-Z]:A,b,B,c,C.....................y,Y,z,Z

字符集:

[:lower:]:所有小写字母

[[:lower:]]: 通配任意单个小写字母

[:upper:]: 所有大写字母

[:alpha:]: 表示所有字母

[:digit:]: 表示所有十进制数字

[alnum]  :表示所有的大小写字母以及十进制数字

[:space:]: 表示空白字符

[:punct:]: 所有的标点符号

    ^:反匹配,

10、输入输出重定向

在使用计算机的时候,实现某种功能的主体是:程序

程序=指令+数据

数据:文件,IO

可以用于输出的设备:文件,键盘文件,文件系统中的常规文件,网卡设备,声卡设备等,

可以用于输出的设备:文件,显示器,文件系统中的常规文件,网卡设备,声卡设备等

  每一种程序都有三种形式的数据流

输入数据流:为程序获取数据的数据流。默认的输入数据流就是键盘。

输出数据流:将程序所处理的数据结果展示给用户的数据流。默认的输出数据流的终点是显示器。

错误数据流:将程序无法处理或处理过程中出现问题的结果展示给用户的数据流。默认错误数据流的终点是显示器。

从键盘实现的输入数据流称为标准输入

到显示器上的输出数据流称为标准输出

到显示器上的错误数据流称为标准错误输出,简称标准错误。

 文件描述符:File DescriptorFD

  0:标准输入,stdin

  1:标准输出,stdout

  2:标准错误,stderr

 

IO重定向:采用非标准设备文件实现的IO操作

 

简单来说,

  不是从键盘设备完成的数据流输出就可以称为输入重定向或重定向输入。

不是到显示器设备的正确输出数据流就被称为输出重定向或重定向输出。

不是到显示器设备的错误输出数据流就被称为错误重定向或重定向错误。

 

 输出重定向:

>: 覆盖输出重定向

    ~]# set -C // 开启防误覆盖开关

    在此开关开启后,可以使用>|”符号继续覆盖重定向

    Set +C  //关闭防覆盖开关

>>:追加输出重定向


本文出自 “12706810” 博客,谢绝转载!

续写vim编辑器的功能和bash的特性感悟

本周我们继续学习了上周没有学完的vim编辑器的其他功能,首先学习了使用vim编辑多个文件,vim文件1文件2文件3………。然后学习了将其他文件填充到当前文件中,用法是:r/PATH/TO/SOMEFILFS路径。最后学习了vim跟shell交互和部分另... 查看详情

linux学习笔记——man管道符vim编辑及快捷操作

########################man命令###########################man级别目标man1 文件名   ####查找命令的帮助   man5 文件名   ####查找配置文件的帮助man-f关键字   ####显示给 查看详情

vim编辑器及bash基础学习的知识点总结

vim编辑器总结:直接vi文件名,无此文件则创建,有此文件则直接打开      (在后面学习中才发现用的都是vim,因为系统自动将vi设定为vim的别名,分辨方法就是vim有颜色且右下角有光标的标示而vi没有... 查看详情

《vim--学习笔记》(代码片段)

vim分为三种模式:命令模式,编辑模式,末行模式。命令模式:对文档进复制,粘贴,替换,移动光标查找等等。编辑模式:用于对文档进行添加,删除,修改等等操作。末行模式:文件的保存,推出,定位光标,查找替换,设... 查看详情

运维学习第三弹

运维第三弹之VIM全屏文本编辑器编辑器:vi(VisualInterface):vim:VIiMproved模式化编辑器:编辑模式(命令模式)--》默认的工作模式末行模式插入模式(输入模式)替换模式可视化模式打开方式:+5光标显示在数字行的第一个字符,... 查看详情

运维学习之管理输入输出及vim编辑模式

unit41.管理输入输出在linux系统中,正确输出的编号为1,错误输出编号为2在系统中用普通用户执行"student"650)this.width=650;"src="https://s1.51cto.com/wyfs02/M01/9C/46/wKioL1luKKiyUThWAARyhVZi4yQ816.png-wh_500x0-wm_3-wmp_4-s_629726353.png"title 查看详情

运维工程师需要学习哪些课程

...之后还要学习综合架构、Shell编程、数据库、云计算以及网络安全方面的知识,以下是linux基础部分要学习的内容:1.计算机硬件、组成原理、操作系统基础、Linux起源、核心介绍及Linux安装实战入门2.Xshell远程网络连接Linux、基础... 查看详情

学习笔记——liunx;linux文件与目录结构;vi/vim编辑器(一般模式编辑模式命令模式)(代码片段)

2023-01-23一、Linux1、Liunx的简介Linux是一套免费使用和自用传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬... 查看详情

朗科学习期间心得笔记

VI编辑器:全屏文本编辑器  VI:visualinterface,可视化界面;S.U.N:billjoy,Vim相对于vi有更多的新特性:1.语法着色显示;2.更多的命令;3.历史纪录;   Vi:模式化文本编辑器模式:编辑模式(命令模式),默认... 查看详情

vim的学习笔记

...,也可以用hjkl字母键。h左移j下移k上移l右移2.欲进入vim编辑器(从命令提示行),请输入:vim文件名<回车>3.欲退出vim编辑器,请输入<Esc>:q!<回车>放弃所有改动。            或者输入<Esc>... 查看详情

linux学习笔记2022-11-29---------vim文本编辑器及其应用详解(代码片段)

目录1.Vim编辑器概述2.Vi和Vim之间到底有什么关系?3.Vim编辑器的三种模式(重点)3.1三种模式3.2三种模式之间的关系3.3LinuxVim基本操作之文件的打开4.命令模式(重点)4.1光标移动4.2复制4.3剪切/删除4.4撤销/恢复... 查看详情

vim学习笔记

VIM的模式切换打开vim时为默认地命令模式,执行以下操作才可进行编辑:输入i编辑完成后按下esc键,输入:,进入末行模式,输入wq,进行保存退出,q!强制退出。常用命令:命令行模式下的操作命令:方向键:j 向下 &... 查看详情

学习笔记第十六节课

vim介绍vim和vi是一样的,是vi的升级版本,vi的快捷键,命令都可以在vim用。vim带有颜色显示。vim没有安装要yum安装一下。vi去编辑的时候没有颜色显示。vim就会有颜色显示。vim有三种模式,一般模式,编辑模式命令模式。一般模... 查看详情

shell工具和脚本:学习笔记

...教育中缺失的一课,这门课程介绍了命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。中文课程主页:https://missing-semester-cn.github.io/。本篇为学习第二节课所做的笔记,主题是Shell工具和脚本,在这节... 查看详情

2017/04/20学习笔记

...ATHreboot重启poweroff关机vim--vimvim是从vi发展过来的一款文本编辑器vim的三种工作模式命令模式--打开vim之后,默认模式编辑模式--需要输液一些命令,切换到编辑模式末行模式--在末行模式下可以输入一些命令:号aiosAIOSw保存光标移... 查看详情

vim的命令学习笔记

vim有两种模式,命令模式和编辑模式,模式切换键为Esc。在命令模式下常用的位移按键有h前移一字,j下移一行,k上移一行,l后移一字;词位移w后移一词,b前移一词;校对编辑:i插入,a添加,c更改,d删除。本文出自“johjoh... 查看详情

vim学习与使用(代码片段)

... Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。Vim和Emacs在文本编辑方面... 查看详情

vim学习笔记

光标移动:h(left)j(down)k(up)l(right)使用vim编辑文件 vim 文件名退出vim:在命令行模式(按esc到命令行模式),        q!放弃所有改动退出        wq保存所有改动退出 查看详情