1、複製/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;
cp /etc/rc.d/rc.sysinit /tmp sed 's@^[[:space:]]\+@\#&@' /tmp/rc.sysinit 替換可用符號s#.#.# s/././ s@.@.@
2、複製/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;
cp /boot/grub/grub.conf /tmp sed 's@^[[:space:]]\+@@' /tmp.grub
3、刪除/tmp/rc.sysinit文件中的以#開頭,且後面跟了至少一個空白字符的行行的#和空白字符
sed '/^\#[[:space:]]\+/d' /tmp/rc.sysinit d爲刪除
4、爲/tmp/grub.conf文件中前三行的行首加#號;
head -n 3 /tmp/grub.conf |sed 's@.*@###&@' #用head取前三行,再使用sed添加###;&引用前字段 sed '1,3s@.*@###&@' /tmp/grub.conf #頭三行添加###並顯示全部 sed -n '1,3s@.*@###&@p' /tmp/grub.conf #只顯示修改的行 -n p 一同使用的效果
5、將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最後的0修改爲1;
sed -e 's#enabled=0#enabled=1#' -e 's#gpgcheck=0#gpgcheck=1#' /etc/yum.repos.d/CentOS-Media.repo -e 多處修改時使用
6、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名爲形如etc-201608300202
mkdir /backup crontab -e 1 */4 * * * cp /etc/* /backup/etc\-$(date +"\%Y\%m\%d\%H\%M") # %必須使用""標註,不讓沒有效果
7、每週2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如
messages-20160830 mkdir -p /backup/messages_logs crontab -e 1 1 * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages\-$(date +"\%Y\%m%\d") 前面必須標註時間,不然會變成每小時每秒執行
8、每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中
mkdir /stats crontab -e 1 */2 * * * grep "^[s,S]" /proc/meminfo >> /stats/memory.txt
9、工作日的工作時間內,每兩小時執行一次echo "howdy"
crontab -e 1 */2 * * 1-5 echo "howdy"
腳本編程練習
10、創建目錄/tmp/testdir-當前日期時間;
11、在此目錄創建100個空文件:file1-file100
12、顯示/etc/passwd文件中位於第偶數行的用戶的用戶名;
13、創建10用戶user10-user19;密碼同用戶名;
14、在/tmp/創建10個空文件file10-file19;
15、把file10的屬主和屬組改爲user10,依次類推。
#!/bin/bash #腳本開始註明使用shell #homework #V0.0.1 for num1 in {1..100};do # for語句,循環數字1-100 mkdir -p /tmp/testdir\-$(date +%Y%m%d%H%M%S)/"file$num1" #無論如何都創建 /tmp/testdir-時間/file1-100目錄 done sed -n "n;p" /etc/passwd #顯示偶數行有兩種模式,其中一種 sed '1~2d' /etc/passwd #顯示偶數行有兩種模式,其中一種 #!/bin/bash #homework #V0.0.1 for num2 in {10..19};do useradd "user$num2" #創建10-19用戶 echo "user$num2" |passwd --stdin user$num2 #添加密碼 mkdir /tmp/file$num2 #創建對應文件夾 chown "user$num2" /tmp/file$num2 #修改該文件夾權限 done