一、複製/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
結果: