一、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以致少一个空白字符开头的行的行首加#;编程
# cp /etc/rc.d/rc.sysinit /tmp/ # vim /tmp/rc.sysinit
替换命令: %s@^[[:space:]]\+@#&@g
vim
如图中的1三、1六、20-21行:bash
二、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;ide
# cp /boot/grub/grub.conf /tmp/ # vim /tmp/grub.conf
替换命令: %s/^[[:space:]]\+//gspa
三、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符orm
# vim /tmp/rc.sysinit
使用vim替换命令: %s/^#[[:space:]]\+//g
blog
替换前:
crontab
替换后:
get
四、为/tmp/grub.conf文件中前三行的行首加#号;
# vim /tmp/grub.conf
vim替换命令:1,3s/^/#/
替换前:
替换后:
五、将/etc/yum.repos.d/CentOS-Media.repo文件中全部的enabled=0或gpgcheck=0的最后的0修改成1;
使用vim打开文件,并用替换命令进行修改,替换命令::%s#enabled=0#enabled=1#
替换前:
替换后:
六、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202
使用crontab -e命令建立一条计划任务,内容以下:
crontab -e 0 */4 * * * /usr/bin/tar -cJf /backup/etc-$(date +"\%Y\%m\%d\%H\%M").tar.xz /etc/ &> /dev/null
结果:
说明:
每4个小时归档压缩(xz)/etc目录,保存至/backup目录下
七、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830
使用crontab -e命令建立一条计划任务,内容以下:
0 0 * * 2,4,6 /usr/bin/tar -cJf /backup/messages_logs/messages-$(date +"\%Y\%m\%d").tar.xz /var/log/messages/ &> /dev/null
八、天天每两小时取当前系统/proc/meminfo文件中的全部以S开头的信息至/stats/memory.txt文件中
# crontab -e 0 */2 * * * /usr/bin/grep '^S' /proc/meminfo > /stats/memory.txt
九、工做日的工做时间内,每两小时执行一次echo "howdy"
# crontab -e 0 9-17/2 * * 1-5 /usr/bin/echo 'howdy'
脚本编程练习
十、建立目录/tmp/testdir-当前日期时间;
#!/bin/bash # dateTime=$(date +"%Y%m%d%H%M") dir=/tmp/testdir-$dateTime if [ -d $dir ]; then echo "$dir already existed!" else mkdir $dir &> /dev/null fi
结果:
十一、在此目录建立100个空文件:file1-file100
#!/bin/bash # dateTime=$(date +"%Y%m%d%H%M") dir=/tmp/testdir-$dateTime if [ -d $dir ]; then echo "$dir already existed!" else mkdir $dir &> /dev/null fi cd $dir for i in {1..100}; do touch file$i done
结果:
十二、显示/etc/passwd文件中位于第偶数行的用户的用户名;
#!/bin/bash # userNum=$(cat /etc/passwd | wc -l) i=2 while [ $i -le $userNum ] do echo "Line $i: $(head -$i /etc/passwd | tail -1 | cut -d: -f1)" let i=i+2 done
结果:
1三、建立10用户user10-user19;密码同用户名;
#!/bin/bash # if [ ! $UID -eq 0 ] then echo "Please login root." exit 1 fi for i in $(seq 10 19) do if id user$i &> /dev/null then echo "$user$i already existed!" else useradd user$i && echo "user$i" | passwd --stdin user$i &> /dev/null && echo "Add user$i finished." fi done
结果:
1四、在/tmp/建立10个空文件file10-file19;
#!/bin/bash # for i in $(seq 10 19) do if [ -e /tmp/file$i ] then echo "file$i already existed!" else touch /tmp/file$i && echo "file$i finished!" fi done
结果:
1五、把file10的属主和属组改成user10,依次类推。
#!/bin/bash # for i in {10..19} do if [ -e /tmp/file$i ] then chown user$i:user$i /tmp/file$i && ls -l /tmp/file$i else echo "/tmp/file$i not exist!" fi done
结果: