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 16:53
下一篇 2016-12-18 17:18

相關推薦

  • Shell腳本編程入門

    什么是Shell      操作系統最外層的程序,shell通過提示符讓用戶輸入,向操作系統解釋該輸入,然后處理來自操作系統的任何結果輸出來,管理用戶與操作系統之間的交互。      Shell是一個用戶跟操作系統之間的一個命令解釋器。Shell是用戶與Linux操作系統之間溝通…

    Linux干貨 2016-08-15
  • RAID與邏輯卷

        RAID與邏輯卷作為磁盤管理的方式,各有各的優勢。RAID是多個磁盤合成一個陣列,以便提供更好的性能;邏輯卷相對于分區來說,可以在線擴展空間,也可以縮減空間??梢岳密浖姆绞絹韺崿FRAID與邏輯卷。 一、利用軟件方式實現RAID     利用sdb sdc sdd sd…

    2017-08-12
  • FHS文件系統介紹及各目錄功能說明

     FHS文件系統介紹及各目錄功能說明 M21-陸東貴 FHS簡介 Filesystem Hierarchy Standard(文件系統目錄標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理…

    Linux干貨 2016-10-18
  • Linux基礎知識(六)-vim編輯器,crontab計劃任務,bash腳本循環

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp [root@localhost ~]# vim&nbs…

    Linux干貨 2016-10-31
  • mount命令使用詳解

    一、掛載(mount)初識     1.什么是掛載         將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄作為其它文件訪問入口的行為。     2.常用的文件系統類型 &…

    Linux干貨 2016-09-01
  • 內核編譯之增加ntfs文件系統

    內核編譯 內核編譯 單內核體系設計,但充分借鑒了微內核設計體系的優點,為內核引入模塊化機制。 內核組成部分:     Kernel,內核核心,一般為bzImage,通常在/boot目錄下,名稱為vmlinuz-WERSION- RELEASE;     Kernel object…

    Linux干貨 2016-09-13

評論列表(1條)

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

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

欧美性久久久久