Linux運維入門~4.輸入輸出管理與vim管理
今天我們來聊一下輸入輸出管理與vim
一 輸入輸出管理
1.輸出管理
在Linux運維過程中,我們會需要管理輸出的資訊,或是儲存到檔案,或是呼叫部分資訊
那我們舉個例子:
在普通使用者student下,利用find指令檢視/etc 下檔案
指令:find /etc/ -name passwd
會顯示很多報錯資訊,這時如果需要分類儲存到檔案中,就需要用到輸出重定向
find /etc/ -name passwd > file 重定向輸出正確資訊到file
find /etc/ -name passwd 2> file 重定向輸出錯誤資訊到file
find /etc/ -name passwd &> file 重定向輸出所有輸出到file
注意:重定向動作會覆蓋原檔案資訊
-輸出追加
追加輸出會把定向的輸出放到原檔案,且不會覆蓋原檔案
find /etc/ -name passwd >> file
find /etc/ -name passwd 2>> file.err
find /etc/ -name passwd &>> file.all
2.輸入管理
#管道
| 把第一條命令的正確輸出變成第二條命令的輸入
例:
ls /bin | wc -l 統計/bin中有多少檔案
2>&1 將編號位2的錯誤輸出轉換成編號為1的正確輸出
例:
find /etc -name passwd 2>&1 |wc -l 統計所有輸出行數
tee 將輸出複製一份到指定位置
例:
find /etc -name passwd 2>&1 | tee file | wc -l 統計所有輸出行數並將輸出複製到file
拓展:
讓正確進file檔案,錯誤進系統垃圾箱
find /etc -name passwd 2> /dev/null > file
二 vim管理
vim是從 vi發展出來的一個文字編輯器。程式碼補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用,和Emacs並列成為類Unix系統使用者最喜歡的文字編輯器。
vim的工作模式包含:1.命令模式;2.插入模式;3.退出模式
1.命令模式
1)vim幫助
:help 或 vimtutor
例:
2)vim 工作引數設定
(臨時設定:退出vim後會還原預設)
:set 引數資訊
:set nu 顯示行數
:set nonu 不顯示行數
:set mouse=a 新增滑鼠選擇
:set cursorline 顯示下劃線
(永久設定)
root使用者下,輸入指令
vim /etc/vimrc
編輯檔案輸入
set nu
set mouse=a
set cursorline
3)字元管理
y 複製
yl 複製一個字母
y3l
yw 複製一個單詞
y3w
yy 複製一整行
y3y
c 剪下
cl
c3l
cw
c3w
cc
c3c
小貼士:當用<c>做剪下動作後,vim會進入插入模式
如果需要貼上那麼要按<ESC>退出插入模式
然後按<p>貼上
d 刪除
dl
d3l
dw
d3w
dd
d3d
p 貼上
u 撤銷
ctrl+r 恢復
4)視覺化模式
視覺化模式的批量新增
ctrl+v 進入視覺化模式
選中要新增字元所在列
按"I"進入插入模式
寫入字元或進行操作
按<ESC>批量新增字元出現
5)字元的替換
:%s/原字元/替換後字元 每一行出現的第一個關鍵字
:%s/原字元/替換後字元/g 全文替換,s所有行,g表示所有列
:3,5s/原字元/替換後字元/g 替換第三行到第五行的關鍵字
:/lp/,/halt/s/sbin/hello/g 替換lp字元和halt字元之間的所有關鍵字
6)在vim中編寫多個檔案
vim file
:sp file1
例:
7)游標移動及字元搜尋
游標的移動
:數字 游標移動到指定的行
<HOME> 游標移動到行首
<END> 游標移動到行尾
G 游標移動到最後一行
gg 游標移動到第一行
搜尋字元
/關鍵字
n 向下匹配
N 向上匹配
2.插入模式
i 游標所在位置插入
I 游標所在行的行首插入
A 游標所在行行尾插入
a 游標所在字元的下個字元插入
s 刪除游標所在字元插入
S 刪除游標所在行插入
o 游標所在行的下一行插入
O 游標所在行的上一行插入
3.退出模式
:q 退出,在開啟檔案後沒有對檔案做任何修改時可使用
:wq 退出儲存,在對檔案修改後並儲存內容時使用
:q! 強制退出,在對檔案做修改後要放棄修改時使用
:wq! 強制退出儲存,在對屬於自己的檔案或你時root使用者時使用
注意:沒有許可權修改的檔案不能強制退出儲存
寫在最後,如果大家喜歡linux運維方面的知識,歡迎關注本博主,會每週更新與linux運維相關的一些小知識,幫助大家入門
願你與我一同成長!
往期:
ttps://blog.csdn.net/Stella_Pooter/article/details/82951345 Linux運維入門~1.虛擬機器使用
https://blog.csdn.net/Stella_Pooter/article/details/82952307 Linux運維入門~2.命令列使用技巧
https://blog.csdn.net/Stella_Pooter/article/details/82960344 Linux運維入門~3.檔案管理
Never say die