vim文本编辑器
 

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式(编辑模式):正常的文本录入。

末行模式:保存或退出文档,以及设置编辑环境。

Linux学习笔记之vim编辑器与shell_vim

 

a:光标右移一位
i:光标不变
o:光标到下一行
 

命令模式中最常用的一些命令

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u
撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
[Ctrl]+r 重做上一个动作。(常用)
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
n<Enter> n 为数字。光标向下移动 n 行(常用)

 

末行模式中最常用的一些命令

命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

vim  /etc/hostname  编辑主机名称,需要重启系统;或用hostnamectl set-hostname 主机名
vim  /etc/sysconfig/network-scripts/ifcfg-ens160  编辑网卡信息

 
Shell脚本
 
格式:
#!声明
#注释
命令
 
参数:
$0对应的是当前Shell脚本程序的名称
$#对应的是总共有几个参数
$*对应的是所有位置的参数值
$?对应的是显示上一次命令的执行返回值
$1、$2、$3……则分别对应着第N个位置的参数值
 

Linux学习笔记之vim编辑器与shell_操作符_02

 

文件测试所用的参数

操作符 作用
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
通过Shell解释器的内设$?变量显示上一条命令执行后的返回值。如果返回值为0,则代表是;如果返回值为非零的值,则代表否
 
使用范例:
&&是逻辑“与”,只有当前面的语句执行成功的时候才会执行后面的语句。
||是逻辑“或”,只有当前面的语句执行失败的时候才会执行后面的语句。
!是逻辑“非”,代表对逻辑测试结果取反值;之前若为正确则变成错误,若为错误则变成正确。
命令1;命令2,不管命令1执行的结果都执行命令2
[root@linuxprobe ~]# [ ! $USER = root ] || echo "administrator"
administrator

可用的整数比较运算符

操作符 作用
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否等于或小于
-ge 是否大于或等于

范例:
[ `free -m | grep Mem: | awk '{print $4}'` -lt 1024 ] && echo "Insufficient Memory"
 
常见的字符串比较运算符
 
操作符 作用
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空
范例:

判断String变量是否为空值,进而判断是否定义了这个变量:

[root@linuxprobe ~]# [ -z $String ]
[root@linuxprobe ~]# echo $?
0

Linux学习笔记之vim编辑器与shell_搜索_03