Vim编辑器和Shell命令脚本
vim(vi)编辑器 在vim中输入会有着色提示
有三种模式:
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
(数字)dd | 删除一行(多行) |
(数字)yy | 复制一行(多行) |
p | 粘贴 |
u | 撤销 |
输入模式:正常的文本录入。
a 光标的下一位 i 光标的位置 o 光标的下一行
末行模式:保存或退出文档,以及设置编辑环境
:w | 保存 |
:wq | 保存并退出 |
:wq! | 强制保存并退出 |
:set (no) nu | (取消)显示行数 |
:数字 | 在第几行添加 |
:s/ / / (g) | 替换某个字符(一行) |
:%s/ / /g | 替换全文 |
/字符 | 要搜索的字符 |
?字符串 | 从下至上搜索该字符串 |
/字符串 | 从上至下搜索该字符串 |
Shell脚本
脚本格式: 后缀 .sh
#!/bin/bash
#zhushi
pwd
运行方式:
bash +脚本文件 或者用绝对路径
./
脚本内设的用于接收参数的变量
变量 | 作用 |
$0 | 当前脚本的名称 |
$1 $2 $3 | 分别对应第几个位置的参数 |
$# | 总共有几个参数 |
$* | 所有位置的参数 |
$? | 显示上一次命令的执行返回值 |
测试语句与运算符
条件测试语句
两边均有空格,条件测试语句不能配合管道符
-d | 判断目录 |
-f | 判断文件 |
-e | 判断是否存在 |
-r | 判断是否有权限读取 |
-w | 是否有权限写入 |
-x | 是否有权限执行 |
逻辑测试语句参数(返回0为成功,返回1则为失败)
与&& A&&B A成功执行B
或|| A失败则执行B
非! 判断结果取反
比较运算符
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-It | 是否小于 |
-le | 是否小于或等于 |
-ge | 是否大于或等于 |
字符串比较运算符
= | 尝试的次数 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 判断变量是否被使用 |
流程控制语句
if语句:
单分支 if (条件测试操作)
then (命令序列)
fi
双分支 if (条件测试操作)
then (命令序列1)
else (命令序列2)
fi
多分支 if (条件测试操作1)
then (命令序列1)
elif (条件测试操作2)
then (命令序列2)
else
(命令序列3)
fi
/dev/null:被称作Linux黑洞的文件,把输出重定向到这个文件等同于删除数据,让用户的屏幕窗口保持简洁。
for语句: 允许脚本一次性读取多个信息,然后逐一进行处理
while语句:若条件为真就继续执行,反之跳出循环。
while
do
命令序列
done
case语句:
case 变量值 in
【a-z】【A-Z】
提示为字母
;;
【0-9】
提示为数字
;;
*)
提示为特殊字符
esac 结束
计划任务服务程序
1、at命令(一次性)
-l | 查看已设置未执行 |
atrm+编号 | 删除对应的计划 |
Ctrl+D | 退出设置 |
2、crontab命令(长期性)
分(0-59) 时(0-23) 日(1-31) 月(1-12) 星期(0-7【0,7都表示星期天】)
命令(日*星期不能同时出现)在后面*/1(*所有) 每隔1-执行有一次
whereis+命令 用来查询绝对路径
-e | 创建或编辑任务 |
-r | 删除 |
-l | 查看计划 |
-u | 编辑对应用户的计划任务(管理员身份可用) |
# | 编辑时用与注释 |