天天看點

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

這一節主要學習了重定向,管道和vim編輯器

首先看看輸出重定向

1 > 或者> 都表示将正确的資訊覆寫輸出重定向, 1>>或者>>表示追加的重定向

2 > 表示将錯誤的資訊覆寫輸出重定向, 2>>表示追加的錯誤資訊重定向

&> 将所有的資訊,正确或者錯誤都定向到一個檔案,也可以使用 > aa 2>&1 或者 2>aa 1>&2的格式,不過很明顯後者比較複雜

如下所示 第一次可以将正确的資訊定向到aa,第二次錯誤的資訊1>無法定向過去,清空檔案之後無法寫入新的内容;第三次2>将錯誤資訊定向到aa

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

這個例子是豆子利用rsync在蘋果伺服器和linux之間進行拷貝,他會把失敗和成功的資訊都寫入同一個日志檔案

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

除了輸出重定向,輸入也可以重定向,比如下面建立一個test文檔,以eof結束

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

接下來看看管道的作用,他可以把前一個指令的結果傳給後一個指令作為輸入。一個很常見的使用就是結合grep進行查詢

看看下面的例子,首先建立一個新的使用者beanxyz,注意大寫 

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

拷貝 passwd 檔案到本地, 然後執行 cat -n passwd | grep beanxyz,   可以看見找到了小寫的使用者名

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

如果添加了-i (ignore),則可以忽略大小寫,可以獲得兩個使用者的資訊

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

如果指定了a3 (下面3行),b3(上面3行),還可以獲得附近幾行的資料

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

如果使用了 -v,可以進行反向過濾,除了 ‘beanxyz’之外的行數都列出來

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

有的時候,如果需要儲存資料到某個臨時檔案,可以使用tee 進行寫入,如果要追加資訊,可以使用-a 選項

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

小測試:如何擷取/etc/passwd 裡面第11到20行的資料?

思路:先擷取前20行資料,再擷取後10行資料就可以了

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

接下來看看重頭戲 vim的使用。

首先看看vim編輯器裡面如何顯示行号,在單個檔案裡輸入 :set number 即可

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

但是一旦退出,這個功能就沒有了。使用者可以更改 家目錄下面的 .vimrc 檔案,添加一條資訊,則該使用者下所有的文本檔案用vim打開都可以顯示行号了

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

類似的,如果想讓該功能對所有使用者都生效,可以直接修改 /etc/vimrc檔案

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

打開 /etc/passwd 看看效果

RHCE 學習筆記(4)- 重定向,管道和VIM編輯器

接下來看看vim有哪些常用的指令。簡單的說,vim 有3種模式,插入模式,指令行模式和末行模式。

模式的切換:

從normal進入insert模式下,可以通過i,o,a 或者i,o,a進入,差別無非在于插入光标的位置有所不同,個人覺得記住i 大部分時候就夠用了

從insert 退出到normal, 按esc即可

從normal進入末行模式,可以輸入:wq! 強制儲存退出 或者/ 進行關鍵字的搜尋

每個模式下都有很多各自的指令組合。下面是一些最最常見的,基本上會用了之後普通的文本編輯應該沒問題了

normal模式下: 

删除光标所在的字元,按x即可

複制光标所在的行 yy

複制光标所在的單詞 yw

複制光标以下的3行 y3

剪切所在的行 dd

粘貼 p

替換字元  r然後輸入要替換的字元

替換一堆字元串 r然後輸入替換的字元串

撤銷上一步 u

上面操作都是針對行或者單詞,不夠靈活,如果想複制粘貼一段話怎麼做?可以在視覺模式裡進行操作。

輸入v,然後通過光标標明一大段内容,按y複制,按p即可粘貼

如果想注釋掉一大堆代碼怎麼辦?可以在insert模式下手動改,一個更簡單的方法是ctrl+v, 進入視覺塊模式,然後高亮所有行的第一列,輸入shift+i (insert模式),然後輸入#注釋符号,等待1秒即可

insert 模式下:

這個和普通的文本編輯基本沒啥差別,可以更改,删除,添加資料,如果可以使用滑鼠,複制粘貼更容易可以直接高亮一堆字元之後點選滾輪就行了

末行模式下:

搜尋關鍵字,輸入/ keyword,可以通過按n或者n進行下一個比對

強制儲存 :w!

強制退出 :q!

強制儲存退出 :wq! 或者 x!

另存 :saveas /path

分屏 :split, 然後可以通過ctrl+w進行切換

關閉分屏 :close

跳轉到某一行 :number 就可以跳到對應的行号了

最後,如果想知道更多的指令,可以通過vimtutor 進行學習

繼續閱讀