第三周作业2019-07-08

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

命令行模式:

:w 保存

:q 退出

:w! 强制保存

:q! 强制退出

:wq 保存并退出

:set number 显示行号,可缩写为 :set nu

:set nonumber 隐藏行号,可缩写为 :set nonu


查找操作:

/str 或者 ?str 用来搜索 str

按n向下查找,按N反之


替换操作:

使用:s可以替换字符串

:s/str1/str2 替换当前行的第一个str1为str2

:s/str1/str2/g 替换当前行的所有str1为str2

:n,s/str1/str2 替换第n行的第一个str1为str2

:.,s/str1/str2 替换当前行的第一个str1为str2

:%s/str1/str2 替换所有行的第一个str1为str2

:%s/str1/str2/g 替换全局所有str1为str2

分隔符 “/” 可使用其他符号来代替例如:

:s$str1$str2

:s#str1#str2


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

算数运算符

+ 加法

- 减法

* 乘法

/ 除法

% 取余数

例如:

1 + 2

1 - 2

1 * 2

1 / 2

1 % 2


关系运算符,

在[]中比较使用

-eq 等于

-ne 不等于

-gt 大于

-lt 小于

-ge 大于等于

-le 小于等于

例如:

[ 1 -eq 2 ]

*注意括号和表达式之间必须留有空格不能写成[1 -eq 2]

在[[]]中比较使用

== 等于

!= 不等于

> 大于

< 小于

>= 大于等于

<= 小于等于

例如:

[[ 1 == 2 ]]

*同样括号和表达式要留空格


逻辑运算符

== 是否相等,相等返回真

!= 是否不相等,不相等返回真

例如:

[ 1 == 2 ]

*同样括号和表达式要留空格


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

#!/bin/bash

#************************************************

#Author:        zero

#Date:          2019-05-19

#File name:    backup.sh

#************************************************

echo "backup start"

sleep 1

bacPath="/root/etc`date +%F`/"

mkdir -p $bacPath

cp -av /etc/* $bacPath

echo "backup done"


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

#!/bin/bash

#************************************************

#Author:        zero

#Date:          2019-05-19

#File name:    nologin.sh

#************************************************

read -p "Please input username:" user

id=`id $user |cut -d' ' -f1|grep -oE "[0-9]{3,5}"`

[ "$id" -ge "1000" ] &&  usermod -L $user && echo "$user have been banned"  || echo "fiall! $user is system user"


#!/bin/bash

#************************************************

#Author:        zero

#Date:          2019-05-19

#File name:    login.sh

#************************************************

read -p "Please input username:" user

id=`id $user |cut -d' ' -f1|grep -oE "[0-9]{3,5}"`

[ "$id" -ge "1000" ] &&  usermod -U $user && echo "$user is allowed"  || echo "fiall! $user is system user"


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

#!/bin/bash

#************************************************

#Author:        zero

#Date:          2019-05-19

#File name:    disk.sh

#************************************************

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

你可能感兴趣的:(第三周作业2019-07-08)