一、Vim编辑器
Vim编辑器设置了三种模式——命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键。
下面是三种模式的操作区别
命令模式 : 控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
输入模式 : 正常的文本录入
末行模式 : 保存或退出文档、以及设置编辑环境
在命令模式下常用的命令
命令 | 作用 |
---|---|
dd | 删除(剪切)光标所在整行 |
5dd | 删除(剪切)从光标处开始的5行 |
yy | 复制光标所在整行 |
5yy | 复制从光标处开始的5行 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
u | 撤销上一步的操作 |
p | 将之前删除或复制过的数据粘贴到光标后面 |
末行模式主要于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式下输入一个冒号就行了。
在命令模式下常用的命令
命令 | 作用 |
---|---|
:w | 保存 |
:q | 退出 |
:q! | 强制退出(放弃对文档的修改内容) |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:命令 | 执行该命令 |
:整数 | 跳转至该行 |
:%s/one/two/g | 将全文中的所有one都换成two |
?字符串 | 在文本中从下至上搜索该字符串 |
/字符串 | 在文本中从上至下搜索该字符串 |
二、编写Shell脚本
1
shell脚本命令工作的方式有两种
交互式 : 用户每输入一条命令就立即执行
批处理 : 由用户事先编写一个完整的脚本,Shell会一次执行脚本中的诸多命令
2
Shell脚本内设了用于接受参数的变量,变量之间可以使用空格间隔。
$0 对应当前Shell脚本程序的名称
$# 对应的是总共有几个参数
$* 对应的是所有位置的参数值
$? 对应的是显示上一次命令的执行返回值
$1 $2 分别对应着第N个位置参数的值
3
判断用户的参数
Shell脚本中的条件测试语法可以判断表达式是否成立
若条件成立则返回数字0,否则返回其他随机数值
其格式为
[ 条件表达式 ]
注意 : 条件表达式两边均应有一个空格
按照测试对象来划分,条件测试语句分为4种
文件测试语句
逻辑测试语句
整数值比较语句
字符串比较语句
文件测试所用的参数
运算符 | 作用 |
---|---|
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权写入 |
-x | 测试当前用户是否有权执行 |
一般这样来人性化进行测试
[ -e /dev/cdrom ] && echo "exist"
可用的整数比较运算符
运算符 | 作用 |
---|---|
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-lt | 是否小于 |
-le | 是否小于等于 |
-ge | 是否大于等于 |
常见的字符串比较运算符
运算符 | 作用 |
---|---|
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 测试字符串是否为空 |
4
if条件测试语句
if 条件测试操作
then 命令序列
fi
if 条件测试操作
then 命令序列1
else 命令序列2
fi
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
5
for条件循环语句
for 变量名 in 取值列表
do
命令序列
done
6
while条件循环语句
while 条件测试操作
do
命令序列
done
7
case条件测试语句
case 变量值 in
模式1)
命令序列1
;;
模式2)
;;
......
*)
默认命令序列
esac
三、计划任务服务程序
计划任务分为一次性任务和长期性任务
使用at命令实现一次性任务,格式为 “at 时间”
at -l : 查看已经设置好了但是还没有执行的任务
atrm 任务序号 : 删除预设的一次性任务
在使用at命令来设置一次性任务时,默认采用的是交互式方法
如果希望系统周期性地、有规律地执行某些具体的任务,那么Linux默认启用的crond服务简直最适合不过了。
创建、编辑计划任务的命令为crontab - e
查看当前计划任务的命令为crontab -l
删除某条计划任务的命令为crontab -r
注:如果你是以管理员权限登录的,那么还可以使用crontab -u来管理其他人的计划任务
记住这个口诀 “分、时、日、月、星期、命令”
这是使用crond服务设置任务的参数格式
使用crond设置任务的参数字段说明
字段 | 说明 |
---|---|
分 | 取值为0~59的整数 |
时 | 取值为0~23的任意整数 |
日 | 取值为1~31的任意整数 |
月 | 取值为1~12的任意整数 |
星期 | 取值为0~7的任意整数,其中0和7均为星期日 |
命令 | 要执行的命令或程序脚本 |
在设置时间时,使用逗号(,)来设置多个时间段,用减号(-)表示一段连续的时间周期,用除号(/)表示执行任务的周期
在crond服务的计划任务参数中,所有的命令都要用绝对参数的方式来写
如果不知道绝对路径,用whereis来查询