第三周作业-----第三种

▲学习老王视频来的宝宝们,看这里(第5-6节)

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

(1)、vim命令行常见的快捷方式

 

:wq 保存退出Vim

:wq! 强制保存退出Vim

:q! 强制退出不保存,放弃保存修改的情况

:w filename 另存为filename

G :$ 移动到最后一行

gg :1 移动到第一行舅,同

100g 100G :100 移动到第100行

0 ^ 光标所在位置移动到当前行行首

$ 光标所在位置移动到当前行行尾

 

(2)、vim查找,替换的方法

 

输入 “/” 即可进入命令行的查找模式,注意的是向前查找的命令是“/” ,与之相对的向后查找的命令是 “ ?” 。然后输入你要查找的内容并回车;n继续向下查找、N继续向上查找。

可以使Vim忽略大小写的命令是在 set ignorcase

 

替换字符串

 

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

:[range]s/abc/ABC/[c,e,g,i]

这条命令就是把abc代表的字符串替换为ABC。开头的range是用来指定替换作用的范围的,如"1,5"表示从第一行到第5行,“1,$”表示从第1行到最后一行,也就是全文,全文也可以用 “%”来表示。最后方括号内的字符是可选选项,含义分别为 c 每次替换前询问; e 不显示错误信息; g 替换一行中的所有的匹配项; i 不区分大小写。

 

 

 

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

bash中的算术运算:

『    + - * / : 加减乘除 』

『   % 求余 』

『   ** 乘方 』

『    ++ -- 自增自减 』

『  +=  -=  增强型赋值   』

算术运算有特定的写法来完成:

 

   1.  使用let

       n=1+2; echo $n   这样写,默认将1+2当成字符,并不会当成数字运算

       let 1+2   使用let 1+2将被当成数字进行运算,但是结果不显示

       let n=1+2;echo $n  ---> 需要用一个变量保存起来,然后打印变量的值

   

  2.  使用 $[]  dollar符加中括号,算术运算写在中括号内

       n=$[3*2] ; echo n

 

   3.  使用 $(())  dollar符跟两个小括号,将执行的算术运算写在这两个括号内

        n=$((3*5));echo $n

        不要和 $(CMD)  搞混了, 这种写法是引用命令  

 

  4.  使用命令 expr

         expr 3 * 4  

            -- expr是一个命令,后面跟着的都是参数 注意参数之间要以空格分隔的,不能写成 expr 3*4

         expr 3 \* 4

            --  对于乘号还要转义

 

  5. 声明为整数

       declare -i n=3+6

       echo  "算术运算表达式"  |bc

 

 

 

逻辑运算:

true ,false ---> 逻辑运算中的真的假 是对应于二进制 的1和 0

  与运算 & : 和1做与运算,原来是什么就保留什么,和0做与运算,结果都为0

          echo $[12&24]   ---> 结果为8

  或运算:|  两个数只要有一个是1,结果就是1,全部为0时,结果才为0

             let $[12|24] ---> 结果为28

  取反运算 ! : 逻辑运算符只有两种,要么真true,要么假false,如果是10进制的数字,只要不是0都认为是真   

          echo $[!100]    -->  100系统认为是真,取反就变成了假, 结果输出为0

          echo $[!1000]   -->  1000也认为是真,取反也变成了假,结果输出为0

          echo $[!0]      -->  0认为是假,取反成了真,结果输出为1

          true;echo $?    -->  执行状态返回1

          fasle;echo $?   -->  执行状态返回0

  异或运算: ^ 不同为1 , 相同为0

        用异或实现两个变量的值互换:  比如有 A B 两个变量 A=10 B=20

        第一步: A=${A^B}   把A与B异或后的结果赋值给A   

        第二步: B=${A^B}   把异或后的值与原来的B值异或, B就成了A

        第三步: A=${A^B}   异或值与原来的A异或,又变成了B 这样A就变成了B

 

 

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

#!/bin/bash

#script:backup /etc/  <   /root/etcYYYY-mm-dd

echo "backup begin to /etc/ ..."

 sleep 5

 cp -av /etc/ /data/etc-$(date "+%F") 

 echo "backup end..."  

 

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

nologin.sh

 

#!/bin/bash

 

[ ! -e '/etc/nologin' ] && touch /etc/nologin && echo "DenyLogin"

 

 

 

login.sh

 

#!/bin/bash

[ -e '/etc/nologin' ] && `rm -rf /etc/nologin` && echo "AllowLogin"

 

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

#!/bin/bash

 

echo "df |grep /dev/sda|tr -s ' ' "%" |cut -d% -f5|sort -nr|head -1"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值