Linux学习笔记4-Vim编辑器与Shell命令脚本

Vim文本编辑器

  1. 是什么?
    在Linux系统中配置应用服务,实际上就是修改他的配置文件,需要通过文本编辑器完成。热门Linux系统中都会默认安装vim文本编辑器,是vi编辑器的升级版。
  2. 优势
    分为三种模式——命令模式,末行模式,编辑模式
    有多种不同的命令快捷键组合
  3. 模式介绍
    命令模式:控制光标移动,可对文本进行删除,复制,粘贴工作
    输入模式:文本录入
    末行模式:保存,退出,设置编辑环境
    命令模式 — : —> 末行模式— Esc键 —> 命令模式
    命令模式 — a,i,o等 —> 输入模式 — Esc键 —> 命令模式
  4. 快捷键介绍
    命令模式下
命令作用
dd删除光标所在整行
5dd删除从光标处开始的5行
yy复制光标所在的整行
5yy复制从光标处开始的5行
p将之前删除或复制的数据粘贴到光标后
/字符串在文本中从上之下搜索该字符串
?字符串在文本中从下至上搜索该字符串
n显示搜索命令定位到的下一个字符串
N显示搜索命令定位到的上一个字符串
u撤销上一部的操作

末行模式下

命令作用
:w保存
:q退出
:q!强制退出
:wq!强制保存退出
:set nu显示行号
:set nonu不显示行号
:命令执行该命令
:整数跳转到该行

5. 文件位置
/etc/hostname : 主机名称
/etc/sysconfig/networl-scripts:网卡配置文件
网卡类型:TYPE
地址分配模式:BOOTPROTO
网卡名称:NAME
是否启动:ONBOOT
IP地址:IPADDR
子网掩码:NETWAY
网关地址:GATEWAY
DNS地址:DNS1
etc/yum.repos.d:yum仓库的配置文件
etc/shells : 查看可用的Shell解释器信息

Shell脚本

  1. 是什么?
    人与计算机硬件的翻译官
    将各种命令通过逻辑语句组合而成的程序
  2. 工作形式
    交互式:用户输入一条命令,Shell解释并执行一条
    批处理:用户事先缩写一个Shell脚本,包含诸多命令,Shell会一次性执行完
  3. 查看当前Shell解释器
  echo $SHELL
  1. 脚本结构
    脚本声明:告知系统用何种shell来解释
    注释信息:对可执行语句或程序功能作介绍,可以不写
    可执行语句:执行的具体命令
  2. 执行方式
    脚本文件路径:./文件名称 ./Example.sh (需要对shell文件增加权限 chmod u+x Example.sh)
    sh 脚本文件路径: sh Example.sh
    source 脚本文件路径:source Example.sh
  3. 带参数执行
    Shell预定义变量
变量名定义
S0当前执行Shell脚本的程序名
S1-9,S{10},S{11}….参数的位置变量
S#一共有多少个参数
S*所有位置变量的值
S?判断上一条命令是否执行成功,0为成功,非0为失败
#Example.sh
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别为$*"
echo "第一个参数为$1,第5个为$5"

#result -- sh Example.sh one two three fource five six
当前脚本名称为Example.sh
总共有6个参数,分别为one two three four five six
第一个参数为one,第5个为five
  1. 判断用户的参数——测试语句
    文件测试:[ 操作符 文件或目录名 ] (中括号内首尾位置要有空格)
操作符作用
-d测试是否为目录
-e测试文件或目录是否存在
f判断是否为文件
r测试当前用户是否有权限读取
w测试当前用户是否有权限写入
-x测试当前用户是否有权限执行

逻辑测试:[ 表达式1 操作符 表达式2 ]

操作符作用
&&逻辑与,而且
||逻辑或,或者
!逻辑否

整数值比较:[ 整数1 操作符 整数2 ]

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

字符串比较 :[ 字符串1 操作符 字符串2 ]

操作符作用
=比较字符串内容是否相同
!=比较字符串内容是否不同
-z判断字符串内容是否为空

2. 条件测试语句


  • 单分支结构
    if —>条件成立 ——> then 命令序列 ——> fi
    if—>条件不成立——>fi
  • 双分支结构
    if 条件测试操作
    then 命令序列1
    else 命令序列2
    fi
  • 多分支结构
    if 条件测试操作1
    then 命令序列1
    elif 条件测试操作2
    then 条件序列2
    else
    命令序列3
    fi
  • read 命令用于将用户的输入参数赋值给指定变量,read -p [ 提示语句 ] 变量名
  • for条件语句
    for 变量名 in 取值列表
    命令序列
    done
  • while条件语句
    while 条件测试操作
    do
    命令序列
    done
  • case条件语句
    case 变量值 in
    模式1)
    命令序列1
    模式2)
    命令序列2
    *)
    默认命令序列
    esac

3. 计划任务服务

  • 一次性任务 - 由atd服务/进程实现,计划的管理操作是at命令

参数作用
at<时间>安排一次性任务
atq或at 1查看任务列表
at c 序号预览任务与设置环境
atrm 序号删除任务


  • 长期任务 - 由cron服务/进程实现
  • 创建,编辑计划任务:crontab -e [-u 用户名]
    固定格式:分钟 小时 日期 月份 星期 命令
  • 查看计划任务:crontab -l [-u 用户名]
  • 删除计划任务:crontab -r [-u 用户名]

字段说明
分钟取值为从0到59之间的整数
小时取值为从0到23 之间的任意整数
日期取值为从1到31之间的任意整数
月份取值为从1到12之间的任意整数
星期取值为从0到7之间的任意整数,其中0与7均为星期日
命令要执行的命令或程序脚本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值