bash中的算数运算 如何实现算数运算 想要实现算数运算,要使用特殊符号或命令,有以下几种方式: 1、let 变量=算术表达式 2、变量=$[算数表达式] 3、变量=$((算数表达式)) 4、变量=$(expr arg1,arg2,arg3.....)
算数表达式的常用符号 普通符号:=,-,+,,/ 增强型赋值:=,/=,%=,+=,-= 自加和自减运算:++,--
bash的条件测试 测试表达式写法 1、test 测试表达式 2、[ 测试表达式 ] 3[ [ 测试表达式 ] ]
bash测试表达式测试类型 1、数值测试的特殊符号 -gt:表示左数是否大于右数 -ge:表示左数是否大于等于右数 -eq:表示左数是否等于右数 -ne:表示左数是否不等于右数 -lt:表示左数是否小于右数 -te:表示左数是否等于右数
2、字符串测试的特殊符号
==:表示等值测试
>:表示左数是否大于右数
<:表示左数是否小于右数
!=:表示左数是否不等于右数
=~:表示左侧字符串是否能够被右侧的模式所匹配到
-z:测试字符串是否为空
-n:测试字符串是否不空
bash中的自定义退出状态码 exit [n]:脚本中一旦遇到exit命令,脚本都会立即终止,不在运行,退出状态码取决于exit命令后面的数字
vim编辑器
vim编辑器是vi编辑器的加强版,vi和vim是两个独立的应用程序文件。 但在centos上他们两个确是同一个应用程序,不过在有些嵌入式环境中,vi是不支持vim功能的。 不是所有发行版vi,vim都同时提供的,但是vi和vim的基本功能都是一样的 vim打开时默认处于编辑模式
vim的基本使用 在不同模式下每一个基建动作表示的意义是不尽相同的
vim的基本模式 编辑模式或命令模式:表示对文件进行剪切,复制,粘贴之类的操作 输入模式或插入模式:表示向文本中插入内容 末行模式:指的是vim编辑器内置的命令行接口
如何使用vim打开文件 vim [选项] ……文件……
vim的基本常用选项 +#:打开文件后,直接让光标处于第#行的行首 +/模式:打开文件以后,直接让光标处于第一个被模式匹配到的行的行首 +:打开文件以后,光标直接处于文件尾部
vim模式的转换 编辑模式-->输入模式 只需要输入模式转换命令即可: i:在光标所在处前面插入输入内容,并转换为输入模式 a:在光标所在处的后面执行输入模式 o:表示在光标所在行的下方打开一个新行,并转换为输入模式 I:在光标所在行的行首输入,并转换为输入模式 A:在光标所在处行的行尾输入,并转换为输入模式 O:表示在光标所在行的上方打开一个新行,并转换为输入模式
输入模式-->编辑模式 只需要建入EXC建即可
编辑模式-->末行模式 直接输入“:”即可
末行模式-->编辑模式 建入EXC即可
输入模式-->末行模式 它两不能直接进行,只能从输入模式进入编辑模式,再从编辑模式进入末行模式
关闭文件 在末行模式下关闭: q:退出 q!:表示强制退出,丢弃做出的修改 wq:保存退出 x:保存退出 w 文件路径:表示把当前文本的所有文本内容保存到你所指定的路径中去
在编辑模式退出: ZZ:保存退出
如何在vim中实现光标跳转 字符间跳转: h:向左跳一个字符 l:向右跳一个字符 j:向下跳一个字符 k:向上跳一个字符
单词间跳转: w:下一个单词的词首 e:当前或下一个单词的词尾 b:当前或前一个单词的词首
行首行尾跳转: ^:跳转到行首的第一个非空白字符 0:跳转至行首;这是绝对行首 $:跳转至行尾,这是绝对行尾
行间移动: #G:跳转至由#指定的行 G:跳转至最后一行 1G或gg:跳转至第一行
句间移动: ):跳转至下一个句子 (:跳转至前一个句子
段落间移动: }:跳转至下一段 {:跳转至上一段
vim的编辑命令 1、字符编辑 x:删除光标处的字符 #x:删除光标处起始的第#个字符 xp:交换光标所在处的字符及其后面字符的位置
2、删除命令 d:删除命令,可结合光标跳转字符使用
3、粘贴命令 p(小写):缓冲区中存储的如果为整行,则粘贴当前光标所在行的下方,如果不是整行,则粘贴光标所在处的后面 P(大写):缓冲区中存储的如果为整行,则粘贴当前光标所在行的上方,如果不是整行,则粘贴光标所在处的前面
4、复制命令 y:复制
5、改变命令 c:主要作用在于某些类的修改操作,并且在执行以后就从编辑模式转入输入模式
6、替换命令 r:替换光标所在处的字符
可视化模式 v(小写):按字符选定 V(大写):按行选定
撤销此前的操作:u
撤销此前的撤销:ctrl+r
重复前一个编辑操作:.
翻屏操作 ctrl+f:向文件尾部翻一屏 ctrl+b:向文件首部翻一屏 ctrl+d:向文件尾部翻半屏 ctrl+u:向文件首部翻半屏
vim中的末行模式 1、地址定界 在实现文本操作和编辑时可以在这直接指定哪些范围内的文本信息 书写方式: 起始位置,结束位置 例: #:表示具体的第几行 #,#:从左侧#表示行开始,到右侧#表示行结束 #,+#:表示从第#行开始,加上#行进行操作,作用对象一共有1+#行
在#的表示方式中,有几个特殊符号: .:表示当前行 $:最后一行 %:全文,相当于1,$ #还能做减法操作 .,$-1:表示从当前行开始到倒数第二行
还能使用模式 /模式1/,/模式2/ 表示从第一次被模式1匹配到的行开始,到第一次被模式2匹配到的行结束
模式还可以和#使用: 5,/模式/ /模式/,$
定界以后的操作: 先加地址定界,后面紧跟命令,不要加空格 d:删除 y:复制 w 文件路径:把选定的行另存在另一个文件中 r 文件路径:在指定位置插入指定文件中的所有内容
2、查找 /模式:使用模式进行查找 ?模式:表示从文件尾部向文件首部进行查找 n:与命令同方向的下一个 N:与命令反方向的下一个
3、查找替换 s:在末行模式下完成查找替换操作 使用语法: s/要查找的内容/替换为的内容/修饰符 &:表示引用前面查找到的所有字符
修饰符:
i:表示查找时忽略大小写
g:表示全局替换
注意:如果不使用g,默认情况下,每一行只替换第一次出现的内容,可使用模式、后向引用。
如果查找替换中的内容出现与分隔符一样的符号时,要使用转义符“\”,也可以不使用转义符,将分隔符换成别的符号就行
&:表示引用前面查找到的所有字符