vim及shell

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


a  在当前光标的后面插入

i  在当前光标处插入

A  在当前光标所在行的最后插入

l在当前光标所在行的开头插入

dd(按双下d键)     删除一行

x    删除当前字母

esc键进入命令模式

 :w                               (小写)保存文件

​:wq                             (小写)保存并退出vim

:w 文件名name            将文件另存为文件名name

:ZZ                             (大写)保存文件并退出,相当于:wq

:wq!                           (小写)文件所有者强制保存只读文件,如果不是文件所有者进行此操作,不能成功

:q!                              退出不保存文件

复制(yank)

yy或 Y                     复制光标所在整行

y^                         复制到光标所在行行首,不包括光标位置字符

y$                         复制到光标所在行行尾,包括光标位置字符

yw                         复制一个单词,光标必须在单词首部

yG                         复制到文件尾

y1G                        复制到文件首

nyy                        复制光标所在行开始的n行

粘贴

p                   (小写)粘贴到光标后

P                (大写)粘贴到光标前

删除

x                       (小写)删除光标前一个字符

X                        (大写)删除光标后一个字符

dd                      (小写)删除光标所在整行

dw                       (小写)删除光标所在处一个单词

dG                       删除光标所在整行到文件尾

dgg                        删除光标所在整行到文件首

D                   (大写)删除到行尾,包含光标处的字符

d0                     删除到行首,不包含光标处的字符

:n1,n2d                编辑模式下,删除n1-n2行

撤销

u               (小写)无限次保存前撤销(大概500多次)

ctrl+r             redo重做

多窗口功能:

:r file       读入文件 file 内容,并插在当前行后

:new      新建一栏空白窗口

 :split     将当前文件分两栏显示

<C-]>   在 :help 中,遇到超连接可以按 Ctrl+] 跳转

<C-T>   在 :help 中,按 Ctrl+T 往回跳转

查找

/s   /string        从光标处开始向下开始查找字符串string

/查找模式下按n(小写)查找下一个,按N(大写)查找上一个

?string        从光标处开始向上开始查找字符从string

?查找模式下按n(小写)查找上一个,按N(大写)查找下一个

:set nu(mber)                显示行号

:n                        指定移动到第n行

替换

在扩展模式下完成查找替换操作

  格式:  %s/要查找的内容/替换为的内容/修饰符

  修饰符: i 忽略大小写

                      g 全局替换;默认模式下每一行只替换第一个

                        gc  全局替换 每次替换钱询问

也可以使用其他分隔符替代/

  @ #等

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

真 1 假 0

true 1

false 0

与 的关系(并且)&

1与1=1

1与0=0

0与1=0

0与0=0

短路与    &&

若第一为假 0,则后续不管真假 结果皆为假0

若第一个为真1,则后续结果不知道真假

导出 :若第一个命令cmd1为真,则执行第二个命令cmd2

            若第一个命令cmd1为假,则不执行第二个命令cmd2

或    |

1或1=1

1或0=1

0或1=1

0或0=0

短路或  ||

若第一为真1,则后续不管真假 结果皆为真1

若第一个为假0,则后续结果不知道真假

导出 :若第一个命令cmd1为真,则无需执行第二个命令cmd2

            若第一个命令cmd1为假,则执行第二个命令cmd2

非 !(表示取反)

!1=0

!0=1

异或 ^:相同为假0  相反为真1

异或后的值再异或原来的值的其中之一可以得到原来的值另一个值

A=10

B=20

A=$[A^B]

B=$[A^B]

A=$[A^B]

echo A=$A  B=$B

则完成了AB互换

(Linx的处理是自左而右的,第一个异或得到的值的A 在第二个异或中已经改变为处理后的值,故在B的异或中,得到的B值已经为A)

同或:相同为真1  相反为假0

条件测试

命令:

  test  EXPRESSION

    [  ]

    [[  ]]

EXPRESSION 前后必须有空白字符

[[ == ]]  通配符

[[ =~ ]]  扩展正则表达式

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

cp -a /date /tmp/date`date +%F`

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

touch /etc/nologin


a=/etc/nologin;[-e $a]&&rm -r $a&&echo 执行成功 || echo "执行失败"


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

df| grep -Eo "[0-9]{1,3}%"|sort -nr|head -1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,500评论 0 5
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,842评论 3 48
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,861评论 0 10
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,228评论 0 3
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,878评论 1 13