1富俄、總結(jié)vim命令行模式常見快捷方式,以及vim查找煮纵,替換的方法
命令行模式:
:w 保存
:q 退出
:w! 強制保存
:q! 強制退出
:wq 保存并退出
:set number 顯示行號,可縮寫為 :set nu
:set nonumber 隱藏行號,可縮寫為 :set nonu
查找操作:
/str 或者 ?str 用來搜索 str
按n向下查找捺檬,按N反之
替換操作:
使用:s可以替換字符串
:s/str1/str2 替換當(dāng)前行的第一個str1為str2
:s/str1/str2/g 替換當(dāng)前行的所有str1為str2
:n,s/str1/str2 替換第n行的第一個str1為str2
:.,s/str1/str2 替換當(dāng)前行的第一個str1為str2
:%s/str1/str2 替換所有行的第一個str1為str2
:%s/str1/str2/g 替換全局所有str1為str2
分隔符 “/” 可使用其他符號來代替例如:
:s$str1$str2
:s#str1#str2
2、總結(jié)腳本中運算符贸铜、邏輯運算以及用法
算數(shù)運算符
+ 加法
- 減法
* 乘法
/ 除法
% 取余數(shù)
例如:
1 + 2
1 - 2
1 * 2
1 / 2
1 % 2
關(guān)系運算符堡纬,
在[]中比較使用
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
例如:
[ 1 -eq 2 ]
*注意括號和表達式之間必須留有空格不能寫成[1 -eq 2]
在[[]]中比較使用
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
例如:
[[ 1 == 2 ]]
*同樣括號和表達式要留空格
邏輯運算符
== 是否相等聂受,相等返回真
!= 是否不相等,不相等返回真
例如:
[ 1 == 2 ]
*同樣括號和表達式要留空格
3烤镐、編寫腳本/root/bin/backup.sh蛋济,可實現(xiàn)每日將/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,實現(xiàn)禁止和充許普通用戶登錄系統(tǒng)
#!/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,顯示當(dāng)前硬盤分區(qū)中空間利用率最大的值
#!/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