請詳細總結vim編輯器的使用並完成以下練習題1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;
[root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@localhost ~]# vim /tmp/rc.sysinit :%s/^[[:space:]]\+/#/2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;
[root@localhost ~]# cp /boot/grub/grub.conf /tmp/ [root@localhost ~]# vim /tmp/grub.conf :%s/^[[:space:]]//3、刪除/tmp/rc.sysinit文件中的以#開頭,且後面跟了至少一個空白字符的行行的#和空白字符
[root@localhost ~]# vim /tmp/rc.sysinit :%s/^#[[:space:]]\+//4、為/tmp/grub.conf文件中前三行的行首加#號;
[root@localhost ~]# vim /tmp/grub.conf :1,3s/^/#/5、將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最後的0修改為1;
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo :%s/enabled=0/enabled=1 :%s/gpgcheck=0/gpcheck=16、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202
[root@localhost ~]# mkdir /backup [root@localhost ~]# echo 'tar cf /backup/etc-$(date +%Y%m%d%H%M) /etc/*' > /root/back.sh [root@localhost ~]# crontab -e 0 */4 * * * bash /root/back.sh &>/dev/null7、每周2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20150402
[root@localhost ~]# mkdir /backup/messages_logs [root@localhost ~]# echo 'tar cf /backup/messages_logs/messages-$(date +%Y%m%d)' > /root/back.sh [root@localhost ~]# crontab -e * * * * 2,4,6 bash /root/back.sh &>/dev/null8、每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中
[root@localhost ~]# echo 'grep ^S /proc/meminfo >> /stats/memory.txt ' > /root/back.sh [root@localhost ~]# crontab -e 0 */2 * * * bash /root/back.sh &>/dev/null9、工作日的工作時間內,每兩小時執行一次echo ""howdy""
[root@localhost ~]# crontab -e 0 11,13,15,17 * * 1-5 echo "howdy"腳本編程練習10、創建目錄/tmp/testdir-當前日期時間;
[root@localhost ~]# cat test10.sh #!/bin/bash mkdir /tmp/testdir-$(date +%Y%m%d-%H%M%S)11、在此目錄創建100個空文件:file1-file100
[root@localhost testdir-20160721-201246]# cat test11.sh #!/bin/bash for i in {1..100}; do touch file$i done [root@localhost testdir-20160721-201246]# ls file1 file2 file30 file41 file52 file63 file74 file85 file96 file10 file20 file31 file42 file53 file64 file75 file86 file97 file100 file21 file32 file43 file54 file65 file76 file87 file98 file11 file22 file33 file44 file55 file66 file77 file88 file99 file12 file23 file34 file45 file56 file67 file78 file89 test11.sh file13 file24 file35 file46 file57 file68 file79 file9 file14 file25 file36 file47 file58 file69 file8 file90 file15 file26 file37 file48 file59 file7 file80 file91 file16 file27 file38 file49 file6 file70 file81 file92 file17 file28 file39 file5 file60 file71 file82 file93 file18 file29 file4 file50 file61 file72 file83 file94 file19 file3 file40 file51 file62 file73 file84 file9512、顯示/etc/passwd文件中位於第偶數行的用戶的用戶名;
[root@localhost ~]# cat test12.sh #!/bin/bash sed -n 'n;p' /etc/passwd | cut -d: -f1 [root@localhost ~]# bash test12.sh bin adm sync halt uucp games ftp dbus vcsa rtkit abrt nfsnobody gdm apache postfix sshd named13、創建10用戶user10-user19;密碼同用戶名;
#!/bin/bash for i in {10..19} do id user$i &> /dev/null if [ $? -ne 0 ];then useradd user$i echo user$i:user$i | chpasswd else echo "user$i existed!" fi done14、在/tmp/創建10個空文件file10-file19;
[root@localhost tmp]# cat test14.sh
#!/bin/bash for i in {10..19} do if [ -f file$i ];then echo "file $i existed!" else touch file$i fi done15、把file10的屬主和屬組改為user10,依次類推。
[root@localhost tmp]# cat test15.sh #!/bin/bash for i in {10..19} do chown user$i:user$i file$i done
本文出自 “追夢” 博客,請務必保留此出處http://387227.blog.51cto.com/377227/1829824