N26-第六周博客作業

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

VIM有三種模式,分別為標準模式、輸入模式、末行模式

模式切換:

         標準模式——輸入模式:i

         標準模式——末行模式::

         末行模式、輸入模式——標準模式:esc

         末行模式——輸入模式:esc之后按i

光標移動:

        

h

l

j

k

w

跳轉至下一單詞詞首

2w

跳轉至往下兩個單詞的詞首

b

向前跳轉至前一個詞首

e

向后跳轉至下一個詞首

2b

跳轉至前兩個詞首

2e

跳轉至下兩個詞首

0

絕對行首

^

非空白行首

$

行尾

上一句

)

下一句

{

上一段

}

下一段

G

最后一行

gg、1G

第一行

5G

跳轉至第5

 

退出:

         q:在沒有修改時退出編輯器

         q!:不保存退出

         w:保存

         wq:保存退出

         x:保存退出

         wq!:強制保存退出

         w
/path/to/file
:另存為

         ZZ:編輯模式下保存退出

編輯操作:

x

刪除光標所在處字符

5x

刪除光標所在處及向后共5個字符

d

結合光標跳轉字符實現范圍刪除,如d$、dw、dedb、d0

dd

刪除光標所在行

2dd

刪除2

p

在光標所在行下方粘貼

y

結合光標跳轉字符實現范圍復制

5y

從當前行向下復制5

yy、Y

復制當前行

c

修改,結合光標跳轉字符實現范圍修改

cc

刪除光標所在行并進入編輯模式

v

可視化模式,按字符選擇

V

可視化模式,按行選擇

u

撤銷此前的操作

4u

撤銷最近的4次操作

ctrl+r

撤銷此前的撤銷操作

ctrl+f

向文件尾部翻一屏

ctrl+b

向文件首部翻一屏

ctrl+d

向文件尾部翻半屏

ctrl+u

向文件首部翻半屏

 

 

 

末行模式:

1、  地址定界

#:第#

#1,#2:從#1行至#2

#1,+#2:從#1行再往后#2

.:當前行

$:最后一行

%:全文,相當于1,$

/path1/,/path2/:從第一次被path1匹配到的行到第一次被path2匹配到的行

2、  保存選取內容

w /path/to/file 需配合地址定界功能使用

3、  讀取文件內容

r /path/from/file

4、  查找

/key :從當前光標處向文件尾部查找

?key :從當前光標處向文件首部查找

查找過程中:

           n:與查找方向相同

           N:與查找方向相反

5、  替換

末行模式下s

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

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

要替換為的內容:不能使用正則表達式,但可以引用,可使用分組引用,也可以使用&引用

修飾符:i  忽略大小寫

                    g       全局模式

多文件模式:

        

:next

切換至下一個文件

:previous

切換至上一個文件

:last

切換至最后一個文件

:first

切換至第一個文件

:wqall

保存退出全部文件

:qall

退出所有文件

:wall

保存所有文件

 

 

vim -o a.txt b.txt

水平分割

vim -O a.txt b.txt

垂直分割

 

多窗口

ctrl+w,s

水平分割文件窗口

ctrl+w,v

垂直分割文件窗口

ctrl+w,方向鍵

窗口間切換

 

 

 

窗口屬性定義(僅對當前vim進程有效):

:set nu

顯示行號

:set nonu

取消顯示行號

:set ai

啟動自動縮進功能

:set noai

取消自動縮進功能

:set ic

忽略大小寫

:set noic

取消忽略大小寫

:set sm

括號匹配

:set nosm

取消括號匹配

:syntax on

語法高亮開啟

:syntax off

語法高亮關閉

:set hisearch

搜索高亮

:set nohlsearch

關閉搜索高亮

也可修改以下文件

         /etc/vimrc:全局配置

         ~/.vimrc:用戶配置文件,有可能默認不存在,需要創建

 

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

         [root@centos6
tmp]# cp /etc/rc.d/rc.sysinit /tmp                                      #
復制文件至/tmp

         vim末行模式下輸入:

         :%s@^[[:space:]]\+@#&@g

         :%s@^\([[:space:]]\+\)@#\1@g

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

         [root@centos6
tmp]# cp /boot/grub/grub.conf /tmp                       #
復制文件至/tmp

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

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

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

         s@^#[[:space:]]\+@@g                              #引用前面的模式

         :%s@^#[[:space:]]\{1,\}@@g                   #分組模式

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

         :1,3s@^.*@#&@g                                      #引用模式

         :1,3s@^\(.*\)@#\1@g                                #分組模式

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

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

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

         方法一:[root@promote
backup]# crontab -e     
輸入以下內容

* */4 * * * /bin/tar -P -Jcf /backup/etc-`date
+\%Y\%m\%d\%H\%M`.tar.xz /etc

         方法二:[root@promote
crontabscript]# vim etcbackup

                            輸入以下內容:

                            #!/bin/bash

tar -P -Jcf /backup/etc-`date +%Y%m%d%H%M`.tar.xz /etc

[root@promote backup]#chmod u+x /tmp/crontabscript/etcbackup            

#增加執行權限

[root@promote backup]# crontab -e

輸入以下內容:

* */4 * * * /tmp/crontabscript/etcbackup

 

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

方法一:[root@promote
backup]# crontab -e     
輸入以下內容

0 0 * * 2,4,6 /bin/tar -P -Jcf /backup/messages_logs/messages-`date
+\%Y\%m\%d\%H\%M`.tar.xz /var/log/messages

         方法二:打開vim編輯器,輸入以下內容

                            #!/bin/bash

tar -P -Jcf /backup/messages_logs/messages-`date +%Y%m%d%H%M`.tar.xz
/var/log/messages

[root@promote backup]# crontab -e      輸入以下內容

0 0 * * 2,4,6 /tmp/crontabscript/messagesbackup

 

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

方法一:[root@promote
backup]# crontab -e     
輸入以下內容

* */2 * * * /bin/cat /proc/meminfo | /bin/grep -i “^s”
>>/stats/memory.txt && /bin/echo
`/bin/date`>>/stats/memory.txt

#/proc/meminfo文件中的所有以S開頭的信息和時間一起保存至/stats/memory.txt文件中

方法二:打開VIM編輯器,輸入以下內容

#!/bin/bash

cat /proc/meminfo | grep -i “^s” >>/stats/memory.txt
&& echo `date`>>/stats/memory.txt

[root@promote backup]# crontab -e      輸入以下內容

* */2 * * * /tmp/crontabscript/meminfobackup

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

* (9-17)/2 * * 1-5 /bin/echo “howdy”

腳本編程練習

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

         #!/bin/bash

# version 1

mkdir /tmp/testdir-`date +%Y-%m-%d-%H-%M`

 

#!/bin/bash

# version 2

i=`date +%Y%m%d%H%M`

if

         [ -e testdir$i ];then

                   echo
“testdir$i is exists”

         else

                   mkdir
./testdir$i

         fi

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

         #!/bin/bash

         #version 1

touch file{1..100}

 

#!/bin/bash

#version 2

for i in
{1..100};do

         if [ -e file$i ];then

                   echo “file$i is
exists”

         else touch ./file$i

         fi

done

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

         方法一:

         #!/bin/bash

sed ‘1~2d’
/etc/passwd | cut -d: -f1

方法二:

#!/bin/bash

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

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

(0)
lixinkuanlixinkuan
上一篇 2017-07-08 15:50
下一篇 2017-07-08 22:48

相關推薦

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

    1、總結sed和awk的詳細用法; sed的詳細用法 awk的詳細用法 2、刪除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed 's/^[[:space:]]*//' /boot/grub/grub.conf 3、刪除/etc/fstab文件中所有以#開頭,后跟至少一個空白…

    Linux干貨 2016-11-14
  • MAN 手冊各章節功能及快捷鍵鍵位介紹

      man命令在linux下屬于一種幫助命令,man手冊提供了比較齊全的幫助格式,它大致分為8個章節 一.各個章節如下 1 – commands 1-普通的命令 (用戶命令,  可由任何人啟動的) 2 – system calls 2-系統調用,如open,write之類的(通過這個,至少可以很方便的查到調用這個函…

    Linux干貨 2016-10-17
  • linux文本查找工具之locate、find

       linux文本查找工具之locate、find    一、文件查找分為兩類:               1、非實時查找:locate   &n…

    Linux干貨 2017-04-08
  • 復制多臺虛擬機及簡單的網絡配置

    虛擬機的復制,網絡地址的簡單配置,圖形化界面setup和system-config-network的使用

    2017-09-09
  • 文件查找相關:whereis、find和locate

        本文將對find和locate進行詳細講解 命令簡介 名稱:whereis     功能:定位文件所在的目錄     用法:whereis shell命令     注意:whereis是根據環境變量PATH來查找文件的,而PATH通常設置成存放命令的那些路徑,如/bin、…

    Linux干貨 2016-04-05
  • N25期–第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、 復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\{1,\}.*@#&@ 2、 復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf…

    Linux干貨 2017-01-17

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-07-13 17:16

    6,8,9題需要精確到分鐘的哈,加油?。?!

欧美性久久久久