1. 程式人生 > >Linux管理輸入輸出與vim命令

Linux管理輸入輸出與vim命令

一. 管理輸入與輸出

在系統中用普通使用者執行  find /etc -name passwd 時,因為許可權的問題,所以會出現正確輸出和錯誤輸出。在Linux系統中,正確輸出的編號為1,錯誤輸出編號為2

在student使用者下執行該命令後,會發現有兩個正確輸出,其他都是Permission denied沒有許可權。

重定向正確輸出:   find /etc -name passwd > file            (這個命令的意思就是把上面執行命令後的正確輸出放入檔案file中)

當執行這條命令之後,正確的輸出會被放到file檔案中。

 

重定向錯誤輸出:    find /etc -name passwd 2> file(這個命令的意思是把上面執行的find命令後的錯誤輸出放到file檔案中)

重定向所有輸出:      find /etc -name passwd &> file(這個命令的意思是把上面執行的find命令後的所有輸出放到file檔案中)

注意: >, 2> ,&>  都會覆蓋原始檔內容

附加:>file   清除file檔案裡的內容

如果想要不覆蓋原始檔內容,可以執行以下三條命令:

find /etc -name passwd >> file        在file內容後面加上find的正確輸出

可以看到,我在執行>>命令之前,先給file檔案裡寫入了123 456,然後執行>>命令後,正確輸出加在了123 456之後,並沒有覆蓋掉原始檔。
find /etc -name passwd 2>> file      在file內容後面加上find的錯誤輸出

可以看到,我在執行2>>命令之前,先給file檔案裡寫入了123 789,然後執行2>>命令後,錯誤輸出加在了123 789之後,並沒有覆蓋掉原始檔。
find /etc -name passwd &>> file      在file內容後面加上find的所有輸出

可以看到,我在執行&>>命令之前,先給file檔案裡寫入了qwe abc,然後執行&>>命令後,錯誤輸出加在了qwe abc之後,並沒有覆蓋掉原始檔。

注意:>>   2>>   &>> 不會覆蓋原始檔內容,會把相應的輸出字元方到檔案的最後

 

管道  |:管道的作用是將上一條命令中的輸出變成下一條命令的輸入  注意:執行管道命令必須要有輸出

例如: ls  /bin | wc  -l    統計ls  /bin 命令的輸出行數

注意:系統中的錯誤輸出是無法通過管道的,但是可以用  2>&1  命令將錯誤輸出編號由2變成1

可以看出,當我用管道命令把find命令的輸出變成wc -l命令的輸入時,還是會有錯誤輸出和一個數字2,這就表示,只有正確輸出才能通過管道,所以當所有輸出結果通過管道時,錯誤輸出被拒之門外,正確輸出執行了wc -l統計行數的命令。但是當我用2>&1命令後,所有輸出都可以通過管道了,它其實是把錯誤輸出的編號由2變成了1,從而順利的通過管道,執行了wc -l的命令。

 

tee    複製輸出到指定的位置

格式:date  |tee  file      tee命令複製date命令的輸出到file中

可以看出,tee命令也會i覆蓋file檔案裡的內容。

同樣,可以用>>命令,如上圖,這樣就不會覆蓋原始檔的內容了

管道命令可以重複多次使用,例如:date |tee file |wc -l      tee命令複製date命令的輸出到file中,並統計輸出行數

 

二. vim命令

1.vim 異常退出

       在vim一場退出時,系統中會在所編輯的檔案目錄中生成.file.swp,vim再次編輯此檔案時會出現相應提示

           按 "o"    open                                開啟
           按 "e"    edit                                  編輯
           按 "r"    recover                             覆蓋
           按 "d"    delete .swap file             刪除
           按 "q"    quit                                   放棄

2.vim的基本配置

         在vim進入一個內容較多的檔案時,是沒有行號的,可能看起來非常難受,所以我們可以新增行號,在vim檔案後 按  : set nu,然後回車就可以看到行號了。

如果想要取消行號,按:  set nonu

如果要新增滑鼠選擇,按:  set  mouse=a

這個時候就可以用滑鼠選擇了。

如果要顯示下劃線,按:set  cursorline

以上的設定方式都是臨時的,永久的設定方式為:vim  /etc/vimrc(此檔案為vim的配置檔案,在此檔案最後加入以上引數,就可以永久設定)

3.vim關鍵字搜尋

如果vim開啟一個檔案,而這個檔案又非常大,找自己想要找的東西就會非常困難,那麼此時就可以用關鍵字搜尋

在vim開啟檔案後,輸入/關鍵字就可以找到自己想要找的東西了,n是向下匹配,N是向上匹配。

4.vim下字元的管理

複製:          (複製完成後按p貼上)

    yl              複製一個字母

    y2l            複製兩個字母

    yw             複製一個單詞

    y3w           複製三個單詞

    yy               複製一行

    y3y              複製三行

刪除:

   dl                 刪除一個字母

   d3l               刪除三個字母

   dw               刪除一個單詞

   d3w             刪除三個單詞

   dd                 刪除一行

   d3d              刪除三行

剪下:    (剪下完後會進入插入模式,然後按esc退出插入模式後按p貼上)

  cl           剪下一個字母
  c3l         剪下3個字母
  cw         剪下一個單詞
  c3w       剪下3個單詞
  cc          剪下一行
  c3c        剪下3行

與複製和刪除命令類似,這裡就不放圖了。

5.vim的視覺化模式

    vim進入檔案後在,在命令模式下按   ctrl+v    進入視覺化模式,在視覺化模式下可以區域選擇字元

    可視模式下批量新增字元:
           ctrl+v 選中要加入字元所在列
           按“I”進入插入模式,寫入要加入的字元(注意:這裡是大寫I)
           按esc  

  可視模式下批量修改字元

              :%s/原有字元/替換後字元                   只替換每一行中出現的第一個原有字元


              :%s/原有字元/替換後字元/g                替換所有原有字元

              :14,17s/原有字元/替換後字元/g               替換14-17行

6.vim的分屏功能

    ctrl+w   s                    上下分屏

    ctrl+w v                      左右分屏


    ctrl+w c                      關閉游標所在螢幕


    ctrl+w 上下左右        游標移動到指定螢幕
    :sp file2                      同時編輯當前檔案和file2

7.vim游標移動

在命令模式下
:數字          移動到指定的行


G                檔案最後一行


gg               檔案第一行

在插入模式下
i                   游標所在位置插入
I                   游標所在行行首
a                 游標所在字元的下一個位置
A                 游標所在行行尾
o                 游標所在行下一行
O                 游標所在行上一行
s                  刪除游標所在字元插入
S                  刪除游標所在行插入

這些命令放圖也看不出效果,所以這裡就不放了,一般最常用的就是    i   游標所在位置插入,然後上下左右移動游標

8.vim的退出模式(這裡用:wq舉個例子 )

:q                 如果沒有對字元作任何操作時可直接q退出
:q!                如果有操作,放棄所有操作退出
:wq              儲存退出

    首先我vim一個檔案,然後向檔案裡寫入了字元,然後:wq儲存退出。當我再次開啟這個檔案時,裡面的字元都在。


:wq!             強行儲存退出,對超級使用者及檔案所有人生效

9.vim手冊

vimtutor                        vim的手冊,如果有vim命令不懂的地方,可以檢視手冊。

附加:gedit  (gedit也是開啟檔案,但是需要圖形化介面)

ctrl+n            在gedit中開啟一個新的tab


ctrl+s            儲存檔案


ctrl+o            開啟檔案


ctrl+x            剪下字元
ctrl+v            貼上字元
ctrl+c            複製字元

以上三個命令與windows下的命令相同
yelp help:gedit        gedit的圖形手冊