linux學習作業-第六週

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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章