vim编辑器与shell脚本 读书笔记
原创
©著作权归作者所有:来自51CTO博客作者技术小白宅的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、vim编辑器
vim的三种模式
-
命令模式:控制光标移动,可对文件进行复制、黏贴、删除和查找
-
输入模式:文本输入
-
末行模式:保存或退出文档、设置编辑环境、执行外部linux命令及跳转到文档的特定行数
注:vim工作流程:默认是命令模式,然后切换到输入模式进行编辑,后返回命令模式再进入末行模式执行文件的保存或退出操作。
命令这种东西多用就会记住。
vim命令模式常用命令
命令 |
作用 |
---|
dd |
删除(剪切)光标所在整行 |
[n]dd |
删除(剪切)从光标处开始的n行.eq 3dd 第3行 |
yy |
复制光标所在整行 |
[n]yy |
复制从光标处开始的n行 6yy 第6行 |
n |
显示搜索命令定位到的下一个字符串 |
N |
显示搜索命令定位到的上一个字符串 |
u |
撤销上一步的操作 |
p |
将之前删除(dd)或复制(yy)过的数据粘贴到光标后面 |
vim末行模式常用命令
命令 |
作用 |
---|
: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 |
?字符串 |
在文本中从下至上搜索该字符串 |
/字符串 |
在文本中从上至下搜索该字符串 |
esc 切换到命令模式。:切换到的末行模式 a、i、o 切换到输入模式。
输入模式:a键与i键分别是在光标后面一位和光标当前位置切换到输入模式,而o键则是在光标的下面再创建一个空行。
配置网卡信息
名称 |
配置 |
---|
设备类型 |
TYPE=Ethernet |
地址分配模式 |
BOOTPROTO=static |
网卡名称 |
NAME=eno16777736 |
是否启动 |
ONBOOT=yes |
IP地址 |
IPADDR=192.168.10.10 |
子网掩码 |
NETMASK=255.255.255.0 |
网关地址 |
GATEWAY=192.168.10.1 |
DNS地址 |
DNS1=192.168.10.1 |
步骤:
1、cd /etc/sysconfig/newwork-scripts/
2、vim ifcfg-eno1677736
3、输入上面的配置保存
4、重启网卡 systemctl restart network
5、查看网络是否可以ping通 ping 192.168.10.10
配置yum仓库
配置yun仓库参数
名称 |
配置 |
---|
[rhel-media] |
Yum软件仓库唯一标识符,避免与其他仓库冲突。 |
name=linuxprobe |
Yum软件仓库的名称描述,易于识别仓库用处。 |
baseurl=file:///media/cdrom |
提供的方式包括FTP(ftp://…)、HTTP(http://…)、本地(file:///…)。 |
enabled=1 |
设置此源是否可用;1为可用,0为禁用。 |
gpgcheck=1 |
设置此源是否校验文件;1为校验,0为不校验。 |
gpgkey=file |
///media/cdrom/RPM-GPG-KEY-redhat-release:若上面参数开启校验,那么请指定公钥文件地址。 |
步骤:
1、cd /etc/yum.repos.d
2、新建 rhel7.repo 的配置文件
3、输入上面的配置
4、创建挂载点 mkdir -p /media/cdrom
5、挂载 mount /dev/cdrom /media/cdrom
6、将挂载信息写入/etc/fstab中 /dev/cdrom /media/cdrom defaults 0 0
7、测试yum仓库是否配置成功 yum install httpd
编写shell脚本
shell的工作方式:1、交互式:用户输入命令就执行 2、批处理:执行一个完整的shell脚本,shell 会一次性执行很多定好的命令。
命令 |
解释 |
---|
$0 |
当前shell脚本的名称 |
$# |
总共有几个参数 |
$* |
对应所有位置的参数值 |
$? |
执行上个命令的返回的结果值 |
$1 |
代表输入的第一个参数 |
测试语句格式 [ 条件表达式 ] 注:两边均有一个空格
条件测试语句
1、文件测试语句
2、逻辑测试语句
3、整数值比较语句
4、字符串比较语句
文件测试所用的参数
操作符 |
作用 |
---|
-d |
测试文件是否为目录类型 |
-e |
测试文件是否存在 |
-f |
判断是否为一般文件 |
-r |
测试当前用户是否有权限读取 |
-w |
测试当前用户是否有权限写入 |
-x |
测试当前用户是否有权限执行 |
整数比较运算符
操作符 |
作用 |
---|
-eq |
是否等于 |
-ne |
是否不等于 |
-gt |
是否大于 |
-lt |
是否小于 |
-le |
是否等于或小于 |
-ge |
是否大于或等于 |
字符串比较运算符
操作符 |
作用 |
---|
= |
比较字符串内容是否相同 |
!= |
比较字符串内容是否不同 |
-z |
判断字符串内容是否为空 |
linux 定时任务 crontab 参数
分 时 日 月 星期 要执行的命令
* * * * * command
字段 |
说明 |
---|
分钟 |
取值为0~59的整数 |
小时 |
取值为0~23的任意整数 |
日期 |
取值为1~31的任意整数 |
月份 |
取值为1~12的任意整数 |
星期 |
取值为0~7的任意整数,其中0与7均为星期日 |
命令 |
要执行的命令或程序脚本 |
eq1 |
*/3 9-15 * * * command 9到15时每隔3分钟执行一次 |