N25第六周作業

vim 是vi編輯的升級版,同樣有三種工作模式:編輯、命令和一般 模式

blob.png

#:指定行號位置

#,#:指定多少行到多少行

#,+#:指定范圍,多少行開始,加#

$:最后一行

.:當前行

.,$-1,當前行到倒數第二行

1,$:全文

%:全文

/從上往下,?:從下往上 搜索

/pattern/:從光標所在處起始向文件尾部第一次被模式所匹配到的行

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

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

替換內容:不能使用正則表達式,但可以引用

 vim操作多文件功能

 vim  file1 file2….

   文件間切換:

    :next(n) 下一個文件

:prev(N) 上一個文件

:first 第一個文件

:last 最后一個文件

    :files 列出所有文件

:wqall 保存全部退出

:wall  全部保存不退出

:qall  全部退出不保存

vim -o  file1 file2 ,,,水平分割

vim -O file1 file2…  垂直分割

ctrl+w,s 垂直分割

ctrl+w,v 水平分割

 

可以自定義一些vim特性,編輯:~/.vimrc

set ai  自動縮進 noai

set si

set ci  ;C風格縮進

set showmatch  括號匹配高亮度 noshowmatch

set hlsearch  ;搜索高亮 nohlsearch

syntax on   ;語法高亮 syntax off

set ic  ; noic 忽略大小寫

help 獲取幫助 help subject

實例:

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

:%s/^\([[:space:]]\+\)/#\1/g 或者:%s/^\([[:space:]].*\)/#\1/g

 blob.png

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

:%s/^[[:space:]].*//g

blob.png 

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

:%s/^#[[:space:]]\+\([^[:space:]].*\)/\1/g 或者 :%s/^#[[:space:]]\+\([^[:space:]]\+\)/\1/g

注意:前者后面的是貪吃模式,沒有關系,但是前面的\+就不能換成.*

 blob.png

blob.png

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

:1,3s/^.*/#&/g

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

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

blob.png

 blob.png

 

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

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

 blob.png

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

0 0 * * 2,4,6 cp -f /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)

 blob.png

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

 0 */2 * * *    grep -i "^s" /proc/meminfo  >> /stats/memory.txt

 blob.png

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

0 */2 * * 1-5  echo "howdy"

 blob.png

腳本編程練習

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

 blob.png

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

 blob.png

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

如果cat -n 的話,顯示行號,很容易看出來,但是后邊的cut就要變了

cat -n  /etc/passwd  | awk NR%2==0 | cut -d ':' -f 1 | grep -E "\<[[:alpha:]].*" -o

 blob.png

blob.png

 

原創文章,作者:不忘初衷,如若轉載,請注明出處:http://www.www58058.com/66403

(0)
不忘初衷不忘初衷
上一篇 2017-01-10 23:48
下一篇 2017-01-11 14:39

相關推薦

  • Linux啟動過程及系統初始化

    一、前言     服務器在正常的運行過程中,很少有重啟的機會。在正常的情況下,也很少有出現啟動異常的情況,但是在遭到了人為或者誤操作的情況后,可能會出現啟動異常的情況。為了加深學習系統啟動流程,能夠更加深入理解Linux系統的啟動流程??偨Y了這篇文字。 二、簡述啟動流程     …

    Linux干貨 2016-11-23
  • mariadb基礎應用

    mariadb基礎應用 一、 前言 MariaDB is one of the most popular database servers in the world. It’s made by the original developers of MySQL and guaranteed to stay open source. Notable users …

    Linux干貨 2016-12-16
  • nfs的簡單配置及引用

    nfs: Network File System RPC:Remote Procedure Call NFS: sun公司研發, 協議;     NFSv1,沒有走出實驗室     NFSv2(不安全), NF…

    Linux干貨 2016-10-19
  • 計算機的組成及其功能。

    一、計算機的組成及其功能。 計算機,是現代一種用于高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。 1、運算器(Arithmetical and Logical Unit):計算機中執行各種算術和邏輯運算操作的部件。運算器的基本操作包括加、減、乘、除四則運算,與…

    Linux干貨 2016-10-30
  • 如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果

    命令別名使用alias命令; ~]#alias NAME='COMMAND' 在一個命令中引用另一個命令的執行結果也是bash的特性之一,引用。 方法:$(COMMAND)

    Linux干貨 2016-11-06
  • Linux基礎知識之IO重定向

    該博文以CentOS6.8_x86_64系統為基礎,Xshell 5遠程連接CentOS系統,以root身份登錄系統。  什么是I/O重定向?       所謂I/O重定向簡單來說就是一個過程,這個過程捕捉一個文件,或者命令,程序,腳本,甚至腳本中的代碼塊(codeblock)的輸出,然后把捕捉到的輸出,作為輸入發送給…

    Linux干貨 2016-07-26
欧美性久久久久