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

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

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

[root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp

[root@localhost tmp]# vim rc.sysinit

末行模式

:%s/^[[:space:]]/#&/

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

[root@localhost tmp]# cp /boot/grub/grub.conf /tmp
[root@localhost tmp]# vim grub.conf

末行模式

:%s/^[[:space:]]\+//g

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

[root@localhost tmp]# vim rc.sysinit

末行模式

:%s/^#[[:space:]]\+//g


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

[root@localhost tmp]# vim grub.conf

末行模式

:1,3s/^/#&/


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

[root@localhost tmp]# vim /etc/yum.repos.d/CentOS-Media.repo

末行模式

:%s/enabled=0/enabled=1/

%s/gpgcheck=0/gpgcheck=1/


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

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


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

*  *  *  *  2,4,6  cp /var/log/messages  /backup/messages_logs/messages-`date +%Y%m%d`


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

*  * /2 *  *  * egrep -o "^s" /proc/meminfo  >>  /stats/memory.txt


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

* 9-17 /2 *  *  */1-5  echo "howdy"


腳本編程練習

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

#!/bin/bash/
#

mkdir /tmp/testdir-$(date +%c)

[root@localhost tmp]# ll

drwxr-xr-x. 2 root root  4096 7月  31 09:52 testdir-2016年07月31日


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

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

[root@localhost ~]# bash -x /tmp/mkdir.sh
+ for i in '{1..100}'
+ touch /tmp/file1
+ for i in '{1..100}'
+ touch /tmp/file2

…….

+ for i in '{1..100}'
+ touch /tmp/file100


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

#!/bin/bash

#

cut -d : -f1 /etc/passwd | sed -n 'n;p'


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

#!/bin/bash

#

    for i in {10..19}; do
        if id user$i &> /dev/null; then
                      echo "user$i exists."
        else
                     useradd user$i
        if [ $? -eq 0 ]; then
                      echo "user$i" | passwd –stdin user$i &> /dev/null
                      echo "Add user$i finished."
                        fi
                    fi
       done      


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

#!/bin/bash/
#
for i in {10..19}; do
    touch  /tmp/file$i
done


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

#!/bin/bash/
#
for i in {10..19}; do
    chown user$i:user$i file$i
done


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

(0)
lelexlelex
上一篇 2016-08-02
下一篇 2016-08-02

相關推薦

  • 小白易患錯誤之絕對路徑和相對路徑的操作錯誤

    小白易患錯誤之絕對路徑和相對路徑的操作錯誤 作為一個不安穩的小白,一天都在那路亂折騰,恰巧,老師課程題目中有一題將/etc/skel 這個目錄的文件除了..和. 復制到/home/USRNAEM 的家目錄下。然后自以為是不按照老師的方法,自己折騰用了這樣一條命令 [root@local skel]# ls -A .bash_lo…

    Linux干貨 2016-08-05
  • Linux作業管理和并發執行

    概述 本章將為大家介紹一些進程管理的補充部分作業管理和任務的并發執行,同時也將介紹一下Linux系統上計劃任務的相關內容,具體分為:1、Linux作業管理2、任務的并發執行 第一章 Linxu作業管理 1、前臺作業和后臺作業    前臺作業:通過中斷啟動,且啟動后一直占據終端    后臺作業:可通過終端啟動,但啟動后即…

    Linux干貨 2016-09-28
  • 運維的危險命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有時候也很危險,尤其是在你不確定你自己在正在做什么時候。這篇文章并不打算引來你對Linux或linux 命令行的憤怒。我們只是想讓你意識到在你運行某些命令時應該三思而后行。(譯注:當然,以下命令通常都是在root權限下才能將愚蠢發揮到無可救藥;在普通用戶身份下,破壞的只是自己的一畝三分地。)

    2017-11-16
  • LVM邏輯卷擴展與縮小

    邏輯卷擴容:擴展邏輯卷前一定要卸載設備和掛載點的關聯 第一步:把邏輯卷lv擴展至300M 第二步:檢查硬盤,并重置硬盤容量 第三步:重新掛載,查看掛載狀態   縮小邏輯卷:對邏輯卷縮容時,丟失數據的風險更大。在執行操作前一定要提前備份好數據。在進行縮減前先把文件系統卸載掉。 第一步:檢查文件 第二步:把邏輯卷lv減小到100M 第三步:重新掛載并查…

    2017-12-17
  • 正則

    Edit 正則 概述: 正則表達式,Regular Expression,縮寫regex、regexp、RE 正則表達式是文本處理極為重要的技術,用它可以對字符串按照某種規則進行檢索、替換 1970年,Unix之父ken Thompson將正則表達式引入到Unix中文本編輯器ed和grep命令中,由此正則表達式普及開來 1980年后,perl語言對Henry…

    Linux干貨 2017-11-06
  • grep命令

    ]# chmod -R 700 /home/tuser1 ]# ll /home/tuser1/ total 0 drwx——. 2 root root 72 Nov 20 17:33 skel 新增用戶與組: 顯示/proc/meminfo: 顯示shell 非 /sbin/nologin 的用戶 找出/etc/passwd文件中一…

    Linux干貨 2016-11-20

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-07 23:07

    博客作業寫得不錯,crontab部分需要注意一下,6,7,8,9題時間需要精確在分鐘,加油!

欧美性久久久久