第六周作業

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

vim總結:

    模式:編輯模式

                插入模式

                末行模式

                        內置命令行接口

            打開文件

            vim +# 打開文件后直接處于文件的#行行首

                    +/PATTER 打開文件后直接處于第一個被PATTER匹配到行的行首

                    + 直接處于尾行行首

模式轉換

       編輯模式:默認模式,打開文件后處于編輯模式

                編輯模式–>插入模式:

                        i: insert 光標所在地方輸入

                        a:append 在光標所在的后方輸入

                        o:在光標所在下方打開一個新行

                        I:大寫i 在光標所在行的行首插入

                        A 在光標所在行尾插入

                        O 在光標所在行的上方插入新行

                插入模式–>編輯模式 ESC鍵

                編輯模式–>末行模式 使用 冒號 :

                末行模式–>編輯模式 ESC鍵 一次或兩次

關閉文件

        ZZ:編輯模式下保存并退出

        wq!:末行模式 w保存,q退出 ! 強制執行

           x :末行模式  保存退出

         w /path/to/filename 保存到某文件內當前文件不退出 另存為效果

  光標跳轉

        字符間跳轉

                k,j,h,l 上下左右 或上下左右的鍵盤 

                #j,k,h,l #表示數字,一次跳轉#個字符    

        單詞間跳轉

                w 下一個單詞詞首

                b 當前或前一個單詞詞首

                e 當前或下一單詞的詞尾

                # command 跳轉#指定個數的單詞

        行首行尾跳轉

                ^ 跳轉至行首第一個非空白字符

                0 跳轉至行首

                $ 跳轉至行位

        行間跳轉

                G 跳轉至最后一行

                # G 跳轉至第#行

                1G,gg 跳轉至第一行

   翻屏 

                ctrl +f  向文件尾翻一屏

               +b 向文件首部翻一屏

               +d 向文件尾部翻半屏

               +u 向文件首部翻半屏

            enter 安行向后翻    

vim的編輯命令:

            字符編輯

                    x 刪除光標所在處的字符

                    #x刪除光標所在處起始向后#個字符

                   xp 交換光標所在處字符和后面字符的位置 

            替換命令 

                    r替換光標所在處的字符 r后跟索要替換的字符   

            刪除命令

                    d 刪除命令,可結合光標跳轉字符,實現范圍刪除

                    d$ 刪除光標所在到行尾

                    d^ 刪除光標到行首

                        下面命令支持#dw 刪除光標到下#個單詞詞首

                    dw 刪除光標到下一個單詞詞首

                    de 刪除光標所在到詞尾

                    db 刪除光標所在到詞首

                    dd 刪除整行

                    #dd 從光標所在行開始刪除#行    

            粘貼命令

                    p 粘貼緩沖區的內容如果為整行,則粘貼在光標所在行的下方,否則粘貼至光標所在處的后方

                    P 粘貼緩沖區的內容如果為整行,則粘貼在光標所在行的上方,否則粘貼至光標所在處的前方

            復制命令(yank)

                    y 復制,工作行為相似與d命令    

            改變命令(change c)

                    編輯模式–>輸入模式-

                        刪除后進入輸入模式

                    操作類似d命令

       其他編輯操作

              可視化模式(選定區域)

                    v 按字符選定

                   V 按行選定

                     結合編輯命令使用

           撤銷(undo)操作

                    u 撤銷此前的操作(可撤銷最近50次操作)

                           #u 撤銷此前的#個操作

                撤銷此前的撤銷操作

                    ctrl+r

             重復執行前一個編輯操作

               vim 自帶聯系教程

                       vimtutor.

vim 末行模式

        內建命令行接口

                (1)地址定界

                             :m 特定第m行  

                             :m,n 第m行到第n行    

                             :m,+n 第m行后的n行    

                             : . 當前行

                             :$最后一行

                             : % 表示全文

                             :/pattern/ 光標起始第一次被模式所匹配到的行

                              /pattern1/,/pattern2/ 光標起始第一次匹配pattern1到的行開始到第一次匹配到pattern2的行結束

            可與編輯命令一同使用,實現編輯操作

                        w /path/to/file 將范圍內文本保存到其他地方

                (2) 查找

                    /pattern 從當前光標開始向尾部查找能被匹配到的字符串并將光標移到查找到的字符串

                    ?pattern 從當前光標開始向文件首部查找能被匹配到的字符串并將光標移到查找到的字符串

                    n 下一個被查找到的字符串

                    N 上一個被查找到的字符串

                 (3)查找替換(替換為無實現刪除效果)

                       s 末行模式的命令

                    s/查找的內容/替換的內容/修飾符

                        查找的內容:可以用正則表達式

                        替換的內容:不能使用模式,但可引用

                                    如果查找的內容部分使用了分組符號可在后面替換的內容使用后向引用。

                                    直接引用查找模式匹配到的全部文本(使用&符號)

                        修飾符:i 查找的內容忽略大小寫

                                       g 全局替換(默認只替換匹配到行的第一次替換)

                         可把分割符替換成其他非常用內容

vim 多文件功能

    vim file1 file2…

    多文件

            末行模式 next 切換到下一個文件

                           prev 切換到上一個文件

                           first   切換到第一個文件

                            last    切換到最后一個

            退出所有文件

                        wqall 保存所有文件退出

                        wall 保存所有文件

                        qall 退出所有文件

    多窗口

        使用ctrl+w 方向鍵 窗口間切換

        vim -o|O

        -o 水平分割窗口

        -O 垂直分割窗口

    單個文件也可分割為多個窗口進行查看

        ctrl+w s 水平分割窗口

        ctrl+w  v垂直分割窗口

定制vim的工作特性

        末行模式下設定僅對當前vim有效

        永久有效需修改配置文件

                個人: vim  ~/.vimrc

                全局 : /etc/vimrc

        1、行號   

              末行模式 set nu 顯示行號

                              set nonu 取消行號

         2、括號匹配高亮顯示

                    set  showmatch ,set sm

                    set noshowmatch,set nosm

         3、自動縮進功能

                set ai

                set noai

         4、高亮搜索

                set hlsearch

                set nohlsearch

        5、語法高亮

                syntax on

                syntax off

        6、忽略大小寫

                set lc

                set nolc

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

vim /tmp/rc.sysinit  
%s/^[[:space:]]/# /

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

vim /tmp/grub.con
:%s/[[:space:]]\+//

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

vim /tmp/rc.sysinit  
:%s/^#[[:space:]]\+//

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

vim /tmp/grub.conf
:1,3s/^/#/

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

vim /etc/yum.repos.d/CentOS-Media.repo
:%s/=0/=1/

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

crontab -e
0 */4 * * * /bin/tar -cPf /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 -cPf /backup/messages_logs/messages-`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 */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
DATA=`date +%Y%m%d%H%M%S`
[ !  -d /tmp/testdir-$DATA ] && mkdir  /tmp/testdir-$DATA
 touch /tmp/testdir-$DATA/file{1..100}

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

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

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

#!/bin/bash
for i in {10..19};do
useradd user$i && echo "user$i" |passwd --stdin user$i 
done

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

#!/bin/bash
touch /tmp/file{10..19}


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

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

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

原創文章,作者:胡安慧,如若轉載,請注明出處:http://www.www58058.com/67591

(0)
胡安慧胡安慧
上一篇 2017-02-06 15:41
下一篇 2017-02-06 17:20

相關推薦

  • 計算機組成及各部分功能

    計算機組成及各部分功能 計算機組成 區別于利用機械原理對數據進行處理的機械計算機,計算機現在一般都指電子計算機,即電腦。計算機是一種利用電子學原理,根據一些列指令對數據進行處理的工具。 不管是機械計算機還是電子計算機其主要目的還是代替人來完成一系列的數據計算。1941年夏天誕生的阿塔納索夫-貝瑞計算機是世界上第一部電子計算機,使用了真空管計算器,二進制數值,…

    Linux干貨 2016-10-27
  • linux網絡管理

    Linux網絡配置 摘要:Linux 對網絡的管理分為 靜態指定和動態管理。 靜態指定 靜態指定ip一般有命令              ifconfig       &…

    Linux干貨 2016-04-05
  • Linux之文件管理命令

      Linux文件管理類命令 Linux一切皆文件,所以熟悉文件管理命令對我們來說至關重要 文件查看命令 cat命令:文本文件查看工具 命令用法:         cat [OPTION]… [FILE]… 常用選項:  &nbsp…

    Linux干貨 2016-11-04
  • 三.Linux博客-2016年7月24日幫助、history、別名、tree

    格式說明: 操作 概念 命令 說明及舉例 三-1.幫助、history、別名、tree touch /etc/nologin 使普通用戶不能登錄(創建了一個文件,刪掉就可以登陸)   ll /etc/nologin 查看那個文件 -rm -f /etc/  刪…

    Linux干貨 2016-08-23
  • sed基本用法

    Stream EDitor, 行編輯器  sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space), 接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。然后讀入下行,執行下一個循環。如果沒有使諸如‘D’的特殊命令, 那會在兩個循環之間清空模式空間,但不會…

    Linux干貨 2017-08-20
  • N22-第三周課堂練習

    — 1.列出當前系統上所有已經登錄的用戶的用戶名,注意:用一個用戶登錄多次,則只顯示一次即可。     who | awk '{print $1}' | uniq 2.取出最后登錄到當前系統的用戶相關信息。   last | head -n 1 3.取出當前系統上被用戶當作其默認shell的最多的…

    Linux干貨 2016-08-30
欧美性久久久久