1、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etc-YYYY-mm-dd中
cat >/root/bin/backup.sh <<EOF
#!/bin/bash
DATE= "date -d "-1 day " +%F"
mkdir /root/etc"$DATE"
/var/log/backup/backup-"$DATE".log
cp -a /root/etc mkdir /root/etc$(date -d "-1 day " +%F ) >>/var/log/backup/ backup-"$DATE" .log << EOF
chmod u+x /root/bin/backup.sh
echo "1 1 * * * root > > /root/bin/backup.sh " >>/etc/crontab
2、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空间利用率最大的值
cat >/root/bin/disk.sh <<EOF
#!/bin/bash
echo " disk max = `df|sed -n '/\/dev\/sd[a-z][0-9]/p' |tr -s " " "%" |cut -d"%" -f5|sort -nr` "
#或者这种
echo " disk max = `df|egrep "sd[a-z][1-9]"|egrep -o "[1-9]{,3}%"|sort -nr` "
chmod u+x /root/bin/disk.sh
3、编写脚本/root/bin/nologin.sh和 /root/bin/login.sh,实现禁止和允许普通用户登录系统
cat >/root/bin/nologin.sh<<EOF
#!/bin/bash
[ ! -e /etc/nologin ] && touch /etc/nologin
EOF
cat > /root/bin/login.sh <<EOF
#!/bin/bash
[ -e /etc/nologin ] && rm -f /etc/nologin
EOF
chmod u+x /root/bin/login.sh /root/bin/nologin.sh
4、查找/var目录下不属于root、lp、gdm的所有文件
find /var ! \( -user "root" -o -user "lp" -o -user "gdm"\)
5、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
grep
egrep -o "\<[[:alpha:]]+\>" /etc/init.d/functions |sort -n|uniq -c |sort -nr
结果1735
sed 做不出来,用如下写法一行的所有词都被代替一个,查了很多资料都是这种错误的答案
sed -nr 's@.*(\<[[:alpha:]]+\>).*@\1@p' /etc/init.d/functions |sort -n|uniq -c |sort -nr
用tr 倒是可以做,就是有点难看,但是结果对不上
tr -s "\t| |~|]|[|{|}|\"|\'|.|,|;|;|'$|_|/|(|)|/|=||#|@|&|%|^||\!|\||>|<|\-|\\" "\n" </etc/init.d/functions|sort -n|uniq -c |sort -nr
tr -s "\t| |~|]|[|{|}|\"|\&