一、Vim编辑器
Vim三种模式:
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
输入模式:正常文本输入
末行模式:保存、退出文档,以及设置编辑环境
Vim常用的命令:
末行模式中可用的命令:
二、编写Shell脚本
Shell终端解释器作为人与计算机硬件之间的“翻译官”。
Shell脚本命令的工作方式有两种:交互式 和 批处理
交互式:用户每输入一条命令就立即执行。
批处理:用户事先编好一个完整的Shell脚本,Shell会一次性执行脚本中的诸多命令。
(一)编写脚本
Shell脚本组成:
1.脚本声明:#!/bin/bash
2.脚本注释:#
3.脚本命令
执行shell脚本:
bash test_shell.sh
test_shell.sh无执行权限,若有则还可以使用完整路径的方式执行。
./test_shell.sh
(二)接收用户的参数
接收参数变量:
$0:对应当前Shell脚本程序的名称
$1、$2……:对应第N个位置的参数值
$#:总共的参数个数
$*:所有位置的参数
$?:显示上一次命令的执行返回值
(三)判断用户的参数
测试语句(中括号两边有空格):[ 条件表达式 ]
1.文件测试语句:
2.逻辑测试语句:
命令A成功则执行命令B,不成功则执行命令C
命令A && 命令B || 命令C
3.整数值测试语句:
4.字符串比较语句:
三、流程控制语句
(一)if条件测试语句
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
查看主机是否在线:
ping命令测试与对方主机连通性
-c:规定尝试次数
-i:定义每个数据报的发送间隔
-W:定义等待超时时间
/dev/null文件:Linux黑洞文件,输出信息重定向到这个文件等于删除数据(没有回收功能的垃圾箱),让用户屏幕窗口保持简洁。
(二)for条件循环语句
for 变量名 in 取值列表
do
命令序列
done
批量创建用户并设置密码:
read 读取用户输入的值,-p参数用于向用户显示一段信息。
id 用户名,用于判断用户是否存在。
passwd --stdin,通过标准输入修改密码
使用root用户执行
用户已创建成功
(三)while条件循环语句
while 条件测试操作
do
命令序列
done
猜数字游戏:
$RANDOM变量来调取一个随机数(范围0~32767)
let TIMES++,让TIMES变量数值加1
输入数字,进行猜数字游戏。
(四)case条件测试语句
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认命令序列
;;
esac
四、计划任务服务程序
计划任务:一次性任务 和 长期性任务
1.一次性任务:只执行一次。
at 时间
之后会默认以交互式的方式设置计划执行的命令,使用Ctrl+D结束。
at -l
查看已设置,但未执行的一次性计划任务。
atrm 任务序号
删除设置好的一次性任务
2.长期性任务:周期性,有规律的执行具体的任务。
crontab -e
创建、编辑计划任务。默认调用vim编辑器。
编辑时,可使用#进行注释。
crond参数字段:
*
:用于占位
,
:用于表示多个字段(如8,9,10 可表示8月,9月和10月)
-
:一段连续的周期(如8-10 可表示8日至10日)
/
:执行任务的间隔(如*/2
表示每隔2分钟执行一次任务)
注意:
“分”字段必须有数值,不能为 空 或 *
“日”和“星期”字段不能同时使用,否则会冲突
多条计划任务,每行仅写一条
所有命令必须用绝对路径的方式来写,不知道可以用whereis 命令,查看命令的绝对路径
test_file为空文件,设置计划任务每分钟对test_file文件中追加“input”字段
使用tail -f 文件名实时查看文件内容,结果如下:
每分钟自动追加“input”字段
crontab -l
查看当前设置的计划任务。
crontab -r
删除某条计划任务。
crontab -u
编辑他人的计划任务。(root权限)
---------------------------------------------------------------------------END---------------------------------------------------------------------------------