1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 答:echo -e "My hostname is hostname" echo -e "My ip is ifconfig | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -1" echo -e "OS version is cat /etc/redhat-release" echo -e "kernel version is uname -r" echo -e "CPU type islscpu|grep 'Model name'|tr -s " "|cut -d: -f2" echo -e "Mem total is cat /proc/meminfo |head -1|cut -d: -f2|tr -d ' '" echo -e "Disk is lsblk | grep -Eo "[0-9]+G"|sort -nr|head -1"

2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 答:cp -av /etc/ /data/etcdate +%F

3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值 答:df | grep /dev/sd| tr -s " "|cut -d" " -f5|sort -nr|head -1

4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序 答:cat ss.log | tr -s " " :| cut -d: -f4|grep ^[0-9]|sort -nr|uniq -c

1、编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和 答:ID10=cat /etc/passwd|head -10|tail -1|cut -d: -f3 ID20=cat /etc/passwd|head -20|tail -1|cut -d: -f3 ID=$[$ID10+$ID20]
echo -e "第十个用户的ID为:$ID10" echo -e "第二十个用户的ID为:$ID20" echo -e "和为:$ID"

2、编写脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和 答:FILE1=cat $1 | grep ^[[:space:]]*[[:space:]]$|wc -l

echo -e "文件一的空白行为:"$FILE1"行"

FILE2=cat $2 | grep ^[[:space:]]*[[:space:]]$|wc -l

echo -e "文件二的空白行为:"$FILE2"行"

FILE="$[$FILE1+$FILE2]"

echo -e "文件一和文件二的总空白行为:"$FILE"行"

3、编写脚本/root/bin/sumfile.sh,统计/etc, /var, /usr目录中共有多少个一级子目录和文件 答:ETCDIR=ls -la /etc | grep ^d | wc -l

echo -e "/etc中一级目录有"$ETCDIR"个"

ETCFILE=ls -la /etc | grep -v ^d|wc -l

echo -e "/etc中文件有"$[$ETCFILE-1]"个"

VARDIR=ls -la /var | grep ^d | wc -l

echo -e "/var中一级目录有"$VARDIR"个"

VARFILE=ls -la /var | grep -v ^d|wc -l

echo -e "/var中文件有"$[$VARDILR-1]"个"

USRDIR=ls -la /usr | grep ^d | wc -l

echo -e "/usr中一级目录有"$USRDIR"个"

USRFILE=ls -la /usr | grep -v ^d|wc -l

echo -e "/usr中文件有"$[$USRFILE-1]"个"