Linux輸入與輸出及vim

2021-08-09 02:32:51 字數 3644 閱讀 3064

一、管理輸入輸出

1、輸出

在linux系統中,正確的輸出編號為1,錯誤輸出編號為2。

用普通使用者student執行"find /etc -name passwd"命令,結果如下圖:

因為studnet的許可權問題,該命令輸出為兩部分:劃線部分為正確輸出,其餘為錯誤輸出。

在工作中有時只需要正確輸出,有時只需要錯誤輸出,所以用重定向輸出來控制輸出內容:

find /etc -name passwd >file,表示將正確輸出匯入file檔案中,只顯示錯誤輸出;

find /etc -name passwd 2>file,表示將錯誤輸出匯入file檔案中,只顯示正確輸出;

find /etc -name passwd &>file,表示將正確輸出和錯誤輸出全部定向輸出至file檔案,此時shell中不顯示內容;

注意:>,2>,&>,都會覆蓋原檔案內容,所以》file命令可以清除file檔案:

若不想在重定向時清除file檔案的內容,則可用">>,2>>,&>>"來實現,表示在file檔案尾部追加內容。

注意:echo表示輸出命令,類似於c語言中printf命令。

2、| :管道,管道的作用是將前一條命令的輸出當做後一條命令的輸入:

ls命令為檢視/bin目錄中的內容,wc為統計個數,管道將ls命令的輸入給wc命令統計個數,整體輸出為1582。

圖中find命令中的錯誤輸出無法通過管道所以只能顯示在shell中,而 正確的兩條輸出傳遞給了wc命令,輸出為2,即圖中左下角。

若要讓錯誤輸出通過管道,可以使用「2>&1」將錯誤輸出轉換為正確輸出通過管道,如下:

3、tee:表示複製輸出到指定位置。

date |tee file 命令表示將date命令的輸出通過管道傳遞給tee並將輸出複製儲存於file檔案中。

二、vim

1、vim異常退出:":q!"強行退出或者在vim命令模式下直接關掉shell。

具體如下:

圖中畫圈部分即為異常退出再進入時的按鍵選項。

2、在vim命令模式下可以配置vim的工作方式。

(1):set nu :新增行號

(2):set nonu :取消行號

(3):set mouse :新增滑鼠選項,即可用滑鼠移動游標

(4):set cursorline :設定行線

注意:以上的設定都為臨時設定方式,即關掉當前shell重新開啟,設定就會消失。

3、永久設定方式

4、vim命令模式下關鍵字搜尋

(1)「/關鍵字」

輸入「/關鍵字」後回車,會將關鍵字全部高亮,如圖中set

n向下匹配;n向上匹配。

5、vim模式下字元管理

(1)字元的複製:

yl:複製乙個字元;y3l:複製3個字元;yw :複製乙個單詞; y3w :複製3個單詞;yy :複製游標所在行;

y3y:複製游標以下三行;p:複製完成後進入insert模式後在按p鍵進行貼上。

(2)字元的刪除:

dl:刪除乙個字母;d3l:刪除3個字母;dw:刪除乙個單詞;d3w:刪除3個單詞;dd:刪除游標所在行;

d3d:刪除游標以下三行;

(3)字元的剪下:

cl:剪下乙個字母;c3l:剪下3個字母;cw:剪下乙個單詞;c3w:剪下三個單詞;cc:剪下游標所在行;

c3c:剪下游標以下3行;esc--->p :剪下過後會立即進入insert模式,必須按esc鍵退出insert模式後才能按p鍵貼上。

6、vim的視覺化模式

在命令模式下按

「ctrl+v」

進入到可視模式,

在可視模式下可以區域選擇字元(用上下左右方向鍵選擇)

可視模式下批量新增字元

*>> ctrl+v

選中要加入字元所在列

*>> 按「i」進入插入模式,寫入要加入的字元

*>> 按esc

7、vim視覺化模式下的批量修改字元

(1) 

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

由上圖可知,該命令只替換每一行第一次出現的字元。

(2):%s/原有字元/替換後字元/g    替換所有出現的字元

對比可知,該命令將所有的「@」字元替換為了「#」字元。

(3):1,5s/原有字元/替換後字元/g  :替換1-5行中出現的所有選定字元。

8、vim的分屏功能

ctrl+w s :上下分屏;ctrl+w v :左右分屏;ctrl+w c :關閉游標所在螢幕

ctrl+w 上下左右:游標移動到指定螢幕;:sp file2 :同時編輯當前檔案和file2檔案;vimdiff:比較兩個檔案的不同

注意:在分屏操作時,ctrl和w同時按,鬆開後再按其他鍵。

9、游標的移動

:數字 :游標移動到指定行

g:游標移動至檔案最後一行;gg:游標移動至檔案第一行

在插入模式下:

i :游標所在位置插入;

i:游標所在行行首

;a:游標所在字元的下乙個位置;

a:游標所在行行尾

o:游標所在行下一行;o:游標所在行上一行;s:刪除游標所在字元插入;s:刪除游標所在行插入

10、vim的退出模式

:q:當用vim開啟檔案但沒有對字元作任何操作時可直接退出

:q!:當用vim開啟檔案並對字元作操作,放棄所有操作退出

:wq:儲存退出

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

11、vim手冊

vimtutor  :開啟vim手冊

q:退出手冊

12、gedit中的快捷鍵

ctrl n:在gedit中開啟乙個新的gedit;

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

ctrl s:儲存檔案;ctrl o:開啟檔案;

yelp help:gedit:在shell中開啟gedit圖形手冊。

vim及輸入輸出管理

一 vim三種工作模式 命令模式 插入模式 退出模式 二 命令模式下的各類操作 1.配置vim工作方式 1 臨時設定 命令模式是vim開啟檔案後預設進入的模式,這個模式中不能插入字元,但是可以設定vim的工作方式 set nu 新增行號 set nonu 取消編號 set cursorline 下劃...

linux基礎 輸入與輸出

乙個程式執行起來最少會開啟三個檔案,分別是標準輸入 0 標準輸出 1 錯誤輸出 2 三個檔案都是fd 檔案描述符 管理。linux下使用標準輸入檔案stdin和標準輸出檔案stdout,來表示每個命令的輸入和輸出,還使用乙個標準錯誤輸出檔案stderr用於輸出錯誤資訊。這三個標準輸入輸出系統預設與控...

linux標準輸入輸出及錯誤輸出

linux shell 環境中支援輸入輸出重定向,用符號 和 來表示。0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出,比如 2 a.txt 表示將錯誤資訊輸出到檔案a.txt中。同時,還可以在這三個標準輸入輸出之間實現重定向,比如將錯誤資訊重定向到標準...