1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名、IPv4地址、操作系统版本、内核版本、CPU型号、内存大小、硬盘大小。
#!/bin/bash
#the script is systeminfo.sh
HOSTNAME=`hostname`
SYSTEM=`cat /etc/redhat-release`
KERNEL=`uname -r`
CPU=`lscpu |sed -rn '/Model name:/p'|cut -d':' -f2`
FREE=`free -h |tr -s ' '|grep Swap|cut -d' ' -f2`
DISK=`lsblk |sed -rn '2p' |tr -s ' '|cut -d' ' -f4`
echo "主机名: $HOSTNAME"
echo "操作系统版本: $SYSTEM"
echo "内核版本: $KERNEL"
echo "CPU型号: $CPU"
echo "内存大小: $FREE"
echo "硬盘大小: $DISK"
2.编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中
#!/bin/bash
#the script is backup.sh for backup /etc dir
cp -ra /etc/ /root/ect`date -d '1 day ago' +%F`
[root@Centos8 data]# crontab -l
0 0 * * * /usr/bin/bash /root/bin/backup.sh
3.编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值。
#!/bin/bash
#the script is disk.sh
df |tr -s ' ' %|cut -d% -f5|grep -Ev '[[:alpha:]]'|sort -rn|sed -rn '1p'
4.编写脚本/root/bin/link.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
#!/bin/bash
#the script is link.sh
ss -nt|tr -s ' ' :|cut -d: -f6|sed -rn '1!p'|sort -rn|uniq -c|sort -rn
5.使用sed命令在test.txt文件每一行后增加一空行
sed -r 'a ' test.txt
6.使用sed命令打印/etc/passwd的奇数行。
sed -rn '1~2p' /etc/passwd