從Linux小白到大?!c狼共舞的日子6

馬哥教育網絡班21期+第6周課程練習

請詳細總結vim編輯器的使用并完成以下練習題


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


[root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/
[root@localhost ~]# vim /tmp/rc.sysinit
    :%s@^[[:space:]]@#&@g

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


[root@localhost ~]# cp /boot/grub/grub.conf /tmp/
[root@localhost ~]# vim /tmp/grub.conf 
    :%s@^[[:space:]]\+@@g

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


[root@localhost ~]# vim /tmp/rc.sysinit
    :%s@^#[[:space:]]\+@@g

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


[root@localhost ~]# vim /tmp/grub.conf
    :1,3s@^.@#&@g

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


[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo
    :%s@\(enabled\|gpgcheck\)=0@\1=1@g

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


[root@localhost ~]# mkdir /backup
[root@localhost backup]# crontab -e
    0 */4 * * * /bin/cp -a /etc /backup/etc-`date '+\%Y\%m\%d\%H\%M'`

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


[root@localhost ~]# mkdir /backup/messages_logs
[root@localhost ~]# crontab -e
    0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-`date '+\%Y\%m\%d'`

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


[root@localhost ~]# mkdir /stats
[root@localhost ~]# crontab -e
    0 */2 * * * /bin/grep ^S /proc/meminfo >> /stats/memory.txt

9、工作日的工作時間內,每兩小時執行一次echo "howdy"


[root@localhost ~]# crontab -e
    0 9-21/2 * * 1-5 /bin/echo "howdy"

腳本編程練習

10、創建目錄/tmp/testdir-當前日期時間;


[root@localhost ~]# cat date.sh 
#!/bin/bash
#
mkdir /tmp/testdir-`date +%Y%m%d%H%M%S`

11、在此目錄創建100個空文件:file1-file100


[root@localhost ~]# cat file.sh 
#!/bin/bash
#
for i in {1..100};do
    if [ -f file$i ];then
        echo "file$i exists."
    else
        touch file$i
        echo "file$i create."
done

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


[root@localhost ~]# cat username.sh 
#!/bin/bash
#
for i in $(seq 2 2 $[`cat /etc/passwd | wc -l`]);do
    head -$i /etc/passwd | tail -1 | cut -d: -f1
done

13、創建10用戶user10-user19;密碼同用戶名;


[root@localhost ~]# cat user1.sh 
#!/bin/bash
#
for i in {10..19};do
    if ! id user$i &>/dev/null;then
        useradd user$i
        echo user$i | passwd --stdin user$i &>/dev/null
        echo "user$i create."
    else
        echo "user$i exists."
    fi
done

14、在/tmp/創建10個空文件file10-file19;


[root@localhost ~]# cat file1.sh 
#!/bin/bash
#
for i in {10..19};do
    if [ -f /tmp/file$i ];then
        echo "file$i exists."
    else
        touch /tmp/file$i
        echo "file$i create."
    fi
done

15、把file10的屬主和屬組改為user10,依次類推。


[root@localhost ~]# cat owner.sh 
#!/bin/bash
#
for i in {10..19};do
    if [ -f /tmp/file$i ];then
        ! id user$i &>/dev/null && echo "user$i no exists." || chown $i.$i file$i
        [ $? -eq 0 ] && echo "owner and group is $i"
    else
        echo "file$i no exists."
    fi
done

原創文章,作者:N21_孤狼,如若轉載,請注明出處:http://www.www58058.com/55113

(0)
N21_孤狼N21_孤狼
上一篇 2016-10-31 10:55
下一篇 2016-10-31 11:37

相關推薦

  • N25-第一周博客作業

    1、描述計算機的組成及其功能:    沒有聽馬哥視頻之前,計算機的組成理解為主機+顯示器;    聽完視頻之后,對計算機的組成分為硬件系統和軟件系統。    硬件系統主要有:運算器、控制器、存儲器、輸入設備和輸出設備;    軟件系統主要有…

    Linux干貨 2016-12-04
  • rsyslog+mysql+loganalyzer配置

    rsyslog+mysql+loganalyzer 自定義日志存儲的信道(facility)和存儲位置,讓rsyslog作為服務端記錄rsyslog客戶端的日志信息 環境介紹 以centos 7.2為系統環境 內部已裝有mariadb、 一、準備工作 1、 安裝rsyslog連接至mysql server的驅動模塊;   # y…

    Linux干貨 2016-10-21
  • 顯示列表和復制文件的各種實例

    顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。 [root@localhost tmp]# ls -d /var/l*[[:lower:]] 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。 [root@localhost tmp]# ls -d /etc/[0-9]*[^0-9…

    Linux干貨 2018-03-01
  • 防火墻原理以及iptables重要實踐

    防火墻 主機間通信大致過程: 請求報文由客戶端IP+PORT和服務器端IP+PORT構成。當客戶端網絡地址和服務端地址在同一網段時,不需要經由路由轉發,可以直接到目標服務器,再經由服務器端口請求道所需資源; 當服務器端和客戶端不在同一網段時。目標IP和源IP是不會改變的,會經由互聯網中的路由器,按照其的路由表,指向該路由器的下一跳主機,知道找到服務器端所在網…

    2017-06-18
  • OSI模型與TCP/IP協議棧

         OSI模型:     使用OSI模型的意義:      簡化教學     加快發展速度     確保技術的互操作性     簡化模塊化設計  &nbs…

    2017-08-20
  • 話說CentOS6的啟動流程

    1.按下開機按鈕,電腦的主板通電,電腦開始加電自檢(POST,Power On and Self Test),測試主機的硬件是否滿足開機的要求. 2.加載主板上的BIOS(Base Input/Output System,基本輸入輸出系統),BIOS會加載用戶設定的第一個可開機設備.,這里我們只說硬盤的加載. 可以按下鍵盤上的Esc或者是F2或者是Del鍵,…

    Linux干貨 2017-05-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 14:18

    博客寫得非常的好,32個贊,思路清晰,加油!

欧美性久久久久