vim文本操作、例行性工作、腳本編程_第六周練習(01)

vim文本操作

Q1:復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;

[root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/
[root@promote /]# ls /tmp/rc.sysinit 
/tmp/rc.sysinit
[root@promote /]# vim /tmp/rc.sysinit
#在末行模式下輸入:
%s@^[[:space:]]\+@#&@g

Q2:復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;

[root@promote /]# cp /boot/grub/grub.conf /tmp/
[root@promote /]# ls /tmp/grub.conf 
/tmp/grub.conf
[root@promote /]# vim /tmp/grub.conf
#在末行模式下輸入:
%s@^[[:space:]]\+@@g

Q3:刪除/tmp/rc.sysinit文件中的以#開頭,且后面跟了至少一個空白字符的行行的#和空白字符;

[root@promote /]# vim /tmp/rc.sysinit
#在末行模式下輸入:
:%s@^#[[:space:]]\+@@g

Q4:為/tmp/grub.conf文件中前三行的行首加#號;

[root@promote /]# vim /tmp/grub.conf
#在末行模式下輸入:
1,3s@^@#@

Q5:將/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改為1;

[root@promote /]# vim /etc/yum.repos.d/CentOS-Media.repo
#在末行模式下輸入:
:%s@\(enabled\|gpgcheck\)=0@\1=1@g
#注意:@@\1=1@中的1,需要轉義;

例行性工作

Q6:每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202;

0  */4  *  *  *  cp -r /etc /backup/etc-$(date +%Y%M%d%H%m%S)

Q7:每周2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20150402;

0  0  *  *  2,4,6 cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%D)

Q8:每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中;

0  */2  *  *  * cat /proc/meminfo | grep "^S" >> /stats/memory.txt

Q9:工作日的工作時間內,每兩小時執行一次echo "howdy";

0  9-18/2  *  *  1-5 echo "howdy"

腳本編程練習

Q10:創建目錄/tmp/testdir-當前日期時間;

#!/bin/bash
#
mkdir -p /tmp/testdir-$(date +%Y%m%d-%H:%M:%S)

Q11:在此目錄創建100個空文件:file1-file100;

#!/bin/bash
#
cd /tmp/testdir-*
for i in {1..100};do
    touch file$i
done

Q12:顯示/etc/passwd文件中位于第偶數行的用戶的用戶名;

#!/bin/bash
#
awk -F: '{if(NR%2!=0) next;print $1}' /etc/passwd

Q13:創建10用戶user10-user19;密碼同用戶名;

#!/bin/bash
#
for ((i=10;i<=19;i++));do
    id user$i &> /dev/null && exit 0 || useradd user$i && echo "user$i" | passwd --stdin user$i
done

Q14:在/tmp/創建10個空文件file10-file19;

#!/bin/bash
#
for ((i=10;i<=19;i++));do
    if [ -a file$i ];then
        continue
    else
        touch /tmp/file$i
    fi
done

Q15:把file10的屬主和屬組改為user10,依次類推;

#!/bin/bash
#
for ((i=10;i<=19;i++));do
    chown user$i:user$i /tmp/file$i
done

原創文章,作者:N24_VC,如若轉載,請注明出處:http://www.www58058.com/64046

(0)
N24_VCN24_VC
上一篇 2016-12-18
下一篇 2016-12-18

相關推薦

  • 任務計劃

    所謂計劃任務就是指某一個時間系統自動做一件事情如輸入指令或者保存文件等等 計劃任務分兩種:一次性計劃任務命令(at)和周期性計劃任務命令(crontab)at的用法:如果當前時間為2017年6月6日 at 18:00 2017-06-6 w > /root/who.txt init 0 (輸入ctrl+d結束編輯…

    Linux干貨 2017-06-07
  • 第11天:網絡基礎,屬性配置

    http://note.youdao.com/noteshare?id=bf6e776e7271953bffe1bdf949df4e8f

    Linux干貨 2016-09-06
  • 四大開源協議的異同:GPL、LGPL、BSD、Apache

    便于自身理解四大常用開源協議的異同之處。

    Linux干貨 2017-10-25
  • 初涉Linux基本要點概括(1)續

       6. Linux發行版都基本遵循文件系統層級標準(Filesystem Hierarchy Standard)。                 續   …

    Linux干貨 2016-10-13
  • 馬哥教育網絡班22期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel/ /home/tuser1/ ~]# chmod 700 /home/tuser1/ -R 2、編輯/e…

    Linux干貨 2016-09-06
  • N25 – week 3 blog

    本周的blog開始使用了代碼語言格式,我原本以為自然的才是最好的,orginal的才是最美的,但是我錯了。。。我發現同學們都在各種markdown,各種排版。我說過我早已過了care這些的年紀,但是我不能脫離群體單獨存在,所以我底下了傲嬌的頭。 本周開始blog標題改為英文,逼格滿滿,麥滿分~ 下面開始第$wk_num周的作業 [root@dhcp-10-1…

    Linux干貨 2016-12-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:25

    從上面腳本看,完成的都不錯~~其中可以合并需求,用一個腳本來實現~~繼續加油~

欧美性久久久久