三花聚顶~

总结vim命令行模式常见快捷方式,以及vim查找,替换的方法

vim [option] ... FILENAME ...

​ + 打开文件后,让光标位于末行首字母

​ +# 打开文件后,让光标位于第#行的行首

​ +/PATTERN 打开文件后,让光标处于第一个被PATTERN匹配到的行的行首

​ -d file1 file2 平行打开多个文件并比较

​ -b filename 二进制方式打开文件

vim的模式

  • 命令模式
  • 编辑模式
  • 末行模式

vim各模式的转换

  • 命令模式-------->编辑模式
    • i insert,在光标所在处输入
    • I 在光标所在行的行首输入
    • a append,在光标所在处的下一个字符输入
    • A 在光标所在行的行尾输入
    • o 在当前行的下一行新起一行输入
    • O 在当前行的上一行新起一行输入
  • 编辑模式-------->命令模式
    • ESC
  • 命令模式-------->末行模式
  • 末行模式-------->命令模式
    • ESC

末行模式常用命令

w保存
wq保存并退出
q退出
q!不保存退出
r filename读文件内容到当前文件中
!command执行命令
r!command读入命令的输出

命令模式常用命令

跳转
  • w 跳转到下一个单词的词首
  • e 当前或下一个单词的词尾
  • b 当前或上一个单词的词首
  • ^ 跳转至当前行首的第一个非空白字符
  • 0 跳转至行首
  • $ 跳转至行尾
  • #G 跳转至指定行行首,#代表行号
  • G 跳转至最后一行
  • gg 跳转至第一行
字符编辑
  • x 删除光标处的字符
  • #x 删除光标处起始的#个字符
  • ~ 转换大小写
  • R 切换至replace模式,可直接进行更改
删除
  • d$ 删除到行尾
  • d^ 删除到非空行首
  • d0 删除到行首
  • dd 删除光标所在行
  • #dd 删除多行
  • D 等价于d$

复制

  • y$ 复制到行尾
  • y0 复制到行首
  • y^ 复制到非空行首
  • yy 复制光标所在行
  • #dd 复制多行

粘贴

  • p 粘贴到下面一行
  • P 粘贴到上面一行
查找
  • /PATTERN 从当前光标向后查找
  • ?PATTERN 从当前光标向前查找
撤销更改
  • u 撤销最近的更改
  • #u 撤销之前多次更改
  • U 撤销光标落在这行后所有对慈航的更改
  • . 重复前一个操作
  • n. 重复前一个操作n次

末行模式

查找和替换

s:在末行模式下完成查找替换操作

​ s/要查找的内容/替换为的内容/修饰符

​ 要查找的内容:可使用通配符和正则表达式等

​ 替换为的内容:不可使用通配符等,但可使用\1,\2等后向引用符号

​ 修饰符:

​ i:忽略大小写

​ g:全局替换;默认情况下,每行只替换第一次匹配的内容

​ gc:全局替换,每次替换前进行询问

​ 分隔符/可替换为其他字符

s@/etc@/var@g

s#/boot#/root#i

vim -o file1 file2

​ 分屏显示两个文件的内容,可通过两次ctrl+w进行切换窗口

总结脚本中运算符、逻辑运算以及用法

算术运算:let

+-*/%**
取模乘方

let var=算术表达式

echo ‘算术表达式’ | bc

增强型赋值

+=-=*=/=%=
自加后赋值自减后赋值自乘后赋值自除后赋值自取模后赋值

逻辑运算

true 1

false 0

逻辑与[ condition1 -a condition2]

逻辑或[ condition1 -o condition2 ]

逻辑非[ !condition ]

条件运算符

=等于
==等于
!=不等于
-eq等于
-ne不等于
-lt小于
-gt大于
-le小于等于
-ge大于等于
-n非空字符串
-z空字符串

文件测试

-e file文件存在为真,不存在为假
-b file是否存在且为块设备
-c file是否存在且为字符设备
-d file是否存在且为目录
-f file是否存在且为普通文件
-L file是否存在且为符号链接文件
-S file是否存在且为套接字文件
-s file文件存在且非空
-w file文件存在且可写
-x file文件存在且可执行

编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到 /root/etcYYYY-mm-dd中

#!/bin/bash

echo "Start backup"
cp -a /etc/ /root/etc`date +%F`
echo "The End"
[root@centos7 data]# bash backup.sh 
Start backup
The End
[root@centos7 data]# cd 
[root@centos7 ~]# ls
anaconda-ks.cfg  etc2019-04-07         Public
Desktop          initial-setup-ks.cfg  pxelinux.0
Documents        Music                 Templates
Downloads        Pictures              Videos

编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充许普通用户登录系统

[root@centos7 /data]# vim nologin.sh
#!/bin/bash
[ -e /etc/nologin ]  || touch /etc/nologin
echo "Normal User has forbidden to login"
[root@centos7 /data]# vim login.sh
#!/bin/bash
[ -e /etc/nologin ] && rm -f /etc/nologin 
echo "Normal User can login"

编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值

[root@centos7 /data]# vim disk.sh
#!/bin/bash
df -h | grep ^/dev/sd | awk '{print $1,$5}' | sort -k2 -rn | head -1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值