第六周作業

vim編輯器的使用

vim在工作過程中有三種模式:編輯模式、輸入模式、末行模式

編輯模式:也叫命令模式,鍵盤操作常被理解為編輯命令。

輸入模式:在文本文件中輸入內容。

末行模式:vim內置的命令行接口,執行vim的內置命令。

vim的使用

打開文件:#vim [OPTIONS]…[FILE]…

+#:打開文件后,直接讓光標處于第#行

+/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行的行首。

 

模式轉換

  1. ESC鍵:可以從輸入模式轉換到編輯模式

  2. 編輯模式–>輸入模式可以使用以下命令:

    i:在光標所在處的前方轉換為輸入模式

    a:在光標所在處的后方轉換為輸入模式

    o:在光標所在行的下方新建一個空行并轉換為輸入模式

    I:在光標所在行的行首輸入

    A:在光標所在行的行尾輸入

    O:在光標所在行的上方新建一個空白行

  3. 編輯模式–>到末行模式:直接輸入冒號(:)即可在窗口的左下方顯示冒號;

  4. 末行模式–>到編輯模式:敲擊ESC按鍵

  5. 輸入–>編輯–>末行:輸入模式不能直接栓還到末行模式

 

退出文件:在末行模式下執行

         :q 退出

         :q!不保存直接退出

         :wq 保存并退出

         :x 保存退出

         :wq! 強制保存退出

         :w /PATH/TO/SOOOMEWHERE 保存至某路徑

    注意:編輯模式下直接使用快捷鍵ZZ也可實現保存退出

 

光標的移動

        h:左    l:右    j:下    k:上

        同時還支持數字跳轉:#{h|l|j|k} 表示跳#個字符

 

單詞間移動:

        w:下一個單詞詞首

         e:下一個單詞詞尾

         b:當前單詞或前一個單詞詞首

        #{w|e|b}跳#個單詞

 

行內移動:

        ^:行首第一個非空白字符

        0:絕對行首

        $:絕對行尾

 

句子間移動:

        (:移動到上一句句首

        ):移動到下一句句尾

 

段落間移動:

        {:移動到上一段段首

        }:移動到段尾或下一段段首

 

行間移動:

        #G:跳轉到#行

          G:最后一行

         1G,gg:第一行

        

 

練習:

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



%s@^\([[:space:]]\{1,\}.*\)@#\1@g

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



%s@^[[:space:]]\{1,\}@@

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



%s@^#[[:space:]]\{1,}@@g

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

1,3s@^@#@g

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

%s@\(enabled|gpgcheck\)=0@\1=1@g

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

crontab -e
0 */4 * * * /bin/tar -czf /backup/etc-`date +%Y%m%d%H%M` /etc

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

crontab -e
0 0 2,4,6 * * /bin/tar -czf /backup/messages_logs/message-`date +%Y%m%d` /var/log/messages

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

crontab -e
0 */2 * * * /bin/grep "^S\+" /proc/meminfo > /stats/memory.txt

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

crontab-e
0 (9-17)/2 * * 1-5 /bin/echo "howdy"

腳本編程練習

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

!#/bin/bash
mkdir /tmp/testdir-`date +%Y%m%d%H%M%S`

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

!#/bin/bash
for num in {1..100}; do
    touch file"$num"
done

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

#!/bin/bash 
sed -n ‘n;p’ /etc/passwd | cut -d: -f 1 

 

原創文章,作者:M36-Masuri,如若轉載,請注明出處:http://www.www58058.com/67504

(0)
M36-MasuriM36-Masuri
上一篇 2017-07-03
下一篇 2017-07-04

相關推薦

  • Linux中的網絡管理

    1. ifconfig命令的使用方法 ifconfig是一個比較老的命令了,以后可能會慢慢被ip命令替代。ifconfig命令可以用來配置網卡ip地址,配置網卡別名等信息。 ifconfig ifconfig 網絡設備名:用來查看網卡的信息,如ip地址,子網掩碼,MAC地址等信息 ifconfig eth0 add 172.16.0.35/16:配置eth0…

    2017-05-02
  • 730作業

    1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中 [root@local ~]# cat /etc/issue |tr "[[:lower:]]" "[[:upper:]]" > /tmp/i…

    Linux干貨 2016-08-02
  • bash之運算、測試、if語句及for循環語句

      一、邏輯運算         布爾運算:真、假         與運算:                 真 && 真 = 真       …

    Linux干貨 2015-05-25
  • Linux系統認知

    前言 在認識Linux系統之前先介紹下計算機的組成構造及其功能: 1,簡單來說計算機可以劃分為軟件系統和硬件系統: (1)軟件系統自不必說就是各種不同的程序,協助用戶更好地使用電腦。 (2)硬件系統指的是主機、顯示器、鼠鍵等硬件設備。 2,按馮諾依曼體系可將計算機按邏輯構成分為: (1)CPU(運算器、控制器)。運算器是數據處理裝置,用來完成對數據的算術運算…

    Linux干貨 2016-09-20
  • Lnmp安裝腳本

    1、源碼編譯安裝LNMP架構環境; 此題略 此鏈接為安裝nginx時,編譯參數和各個模塊和第三方模塊的介紹,十分豐富,安裝前可以參考學習 https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/ 2、編寫一個腳本完成以下功能:    (1)、一鍵搭建…

    Linux干貨 2016-12-05
欧美性久久久久