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
下一篇 2017-01-11

相關推薦

  • 第一天心得體會

    初次見面,你好

    2018-03-26
  • linux目錄管理之整合篇

    目錄配置:     1,根目錄,所有目錄都由根目錄衍生出,與開機,還原,系統修復等操作有關。     2,根目錄下各子目錄應存放的文件。             I,/bin和/sbin目錄,/bin放置的是單用戶維護模式下能被操作的命令,可以被root和一般…

    Linux干貨 2017-05-29
  • linux文件管理類命令學習總結練習

    1、常用文件管理類命令:cp, mv, rm   cp: copy命令       單元復制 cp [OPTION]… [-T] SOURCE DEST                     DEST不存在…

    Linux干貨 2016-11-06
  • ?keepalived

    keepalived 高可用集群 VRRP協議 keepalived 安裝keepalived 主要文件 配置文件說明 【一】測試keepalived基本功能 單主模型示例 雙主模型示例 通知腳本示例 【二】單主模型高可用DR類型LVS集群 配置keepalived主機 Real Server配置 測試結果 【三】雙主模型高可用DR類型LVS集群 配置kee…

    Linux干貨 2016-11-01
  • 馬哥教育網絡版21班第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    Linux干貨 2016-08-05
  • 馬哥教育網絡班21期+第12周課程練習

    httpd學習前知識必備: I/O類型 同步和異步 synchronous asynchronous  關注的是消息通知機制,如何通知調用者,站在被調用者的角度 同步:調用發出后不會立即返回,一旦返回即是最終結果 異步:調用發出后會立即返回消息,但不是最終結果,被調用者通過狀態,通知機制,或回調函數處理結果 阻塞和非阻塞 block nonbloc…

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