vim與bash腳本的那些事兒

請詳細總結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/^/#&/

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=\)[[:digit:]]#\11#g
%s#\(gpgcheck=\)[[:digit:]]#\11#g

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

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

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

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文件中

0 */2 * * * /bin/grep ^[S] /proc/meminfo > /stats/memory.txt

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

0 8-18/2 * * 1-5 /bin/echo "howdy"

腳本編程練習

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

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

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

#!/bin/bash
for i in $(seq 1 100);do touch file$i;done

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

#!/bin/bash
sed -n 'n;p' /etc/passwd | cut -d: -f1

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

#!/bin/bash
for u in $(seq 10 19);do useradd user$u;echo "user$u" | passwd --stdin user$u;done

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

#!/bin/bash
for f in $(seq 10 19);do touch /tmp/file$f;done

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

#!/bin/bash
for f in $(seq 10 19);do chown user$f:user$f /tmp/file$f;done

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

(0)
AnacondaAnaconda
上一篇 2016-08-02 14:34
下一篇 2016-08-02 15:20

相關推薦

  • 第一周:Linux基礎及哲學思想

    1.現代計算機的組成及功能    現代計算機由運算器、控制器、存儲器、輸入和輸出設備5大部分組成。分別擔當著計算機的計算,控制,存儲,輸入和輸出等功能. 2.Linux的發行版及其之間的聯系與區別     Linux發行版主要分支分為三大系列: Slackware、debian 、redhat  &…

    Linux干貨 2016-06-23
  • 文本處理工具初探

    作為一個系統管理員,文本處理功能是經常使用的,熟練地使用各種文本工具有助于提高工作效率,從繁忙的工作中早點解脫。下面就來介紹處理文本的常用命令。 處理文本的命令大致分為:        查看文件內容:cat、less、more       …

    Linux干貨 2016-08-07
  • 第一周作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及共用規定。

    Linux干貨 2017-12-03
  • sed

    sed Stream EDitor, 行編輯器 sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非使用重定向存儲輸出。 Sed主要用來自動…

    Linux干貨 2017-04-26
  • 進程和計劃任務

      進程概念 內核功能:進程管理 文件系統 網絡功能 內存功能 驅動功能 安全功能 Process: 運行中的程序的一個副本,是被載入內存的一個指令集合 進程ID(Process ID,PID)號碼被用來標記各個進程 UID、GID、和SELinux語境決定對文件系統的存取和訪問權限, 通常從執行進程的用戶來繼承 存在生命周期 task struc…

    Linux筆記 2018-05-06
  • 重定向和管道

    重定向和管道 今天一起來學習一下重定向的一些相關命令及用法: 我們都知道程序=指令+數據 ,那么我們的數據的輸入(Input)和輸出(Output)是如何實現的呢?!跟小編君一起來看一下吧: 本博文小編君分成了四部分:1.重定向的講解 2.管道符的講解 3.涉及到的一些其他命令 4.練習題 一:重定向 重定向的本質是改變文件的默認位置,即換個地方存儲數據。 …

    2017-08-04
欧美性久久久久