第六講 文字處理工具和vim編輯器
文字處理工具包括文字提取、分析、處理等工具
文字提取: 文件內容cat 、nl 、less 、more 文件摘要:head 、tail 、按列或者字段提取:cut 、按關鍵字提取:grep
文字分析:wc 、 sort 、 diff 、 aspell
文字處理:tr 、 sed
Cat ,一次性將某個文件中內容所有顯示
nl , 也能夠一次所有將文件中的內容,可是多了行號
通常cat和nl主要用來做爲分析用如:cat passwd |grep user1 |nl
More ,能夠在一頁先是不完的時候翻頁,可是隻能向下翻頁,不能向上翻頁
Less , 同more可是能夠上下翻頁
Head ,默認狀況下顯示的是文件前十行,
Tail , 默認顯示文件的後十行。 Tail命令能夠跟蹤系統日誌。
Eg:head -n 20 passwd|tail|nl 顯示passwd的底11-20行。
Question: 日誌設計的是隻讀不能修改,可是高明的***者能夠在離開的時候清除掉本身的日誌記錄,how?
Grep , 過濾以行爲單位的文本,一般是和管道一塊兒使用。
eg: date --help|grep color=auto year color=auto將過濾關鍵字標色。
Grep -n ; grep -v反向選擇 grep ^XXX以XXX開頭 grep XXX$以XXX結尾 grep -AX知足關鍵字且後五行 , grep -BX 知足關鍵字且前五行
Man grep
Eg: cat vsftpd.conf|grep -i ^# >vsftpd.bak 過濾vsftpd.conf文件中的註釋行
Cut ,
過濾以列爲單位的文本
Eg : grep root /etc/passwd |cut -d: -f7 取得root用戶的shell,-d 指定列分隔符,默認爲tab ;-f指定要打印的列 -c 按字符剪切
Wc (world count 計算文本字數)
Sort ,排序 默認爲升序排序,若是是字符則按照ASCLL碼來排序(
man ascll
)
Sort -r 反向排序 ,sort -n 按照數字大小來排序 , sort -f 忽略大小寫 ,sort -t 使用分隔符 ,sort -k 以分割符的第幾列 sort -u 消除重複
Diff ,用來比較兩個文本的差別,軟件升級和內核升級都是用diff來實現
Eg:diff -u /etc/vsftpd/vsftpd.conf vsftpd.conf>vsftpd.patch 比較兩個文件生成差別文件
Patch -b vsftpd.conf vsftp.patch 用差別文件來給vsftpd.conf打補丁
Aspell 交互式語法檢查工具 aspell check letter
Tr 轉換 eg: tr 'a-z' 'A-Z' < lowercase.txt
Sed 搜索並替換 eg: sed -e '1,50s/dog/cat/g' -e 's/hi/lo/'pets
Vim編輯器
vim模式:
1、insert mode插入模式,
2、commad mode 命令模式
3、EX mode 退出模式
在任何模式下按兩下Esc能夠返回到命令模式
vim filename 若是文件存在則打開並顯示文件內容,但不影響文件的結果,若是打開一個不存在的文件,則會顯示new file 在編輯保存以後文件會自動建立。
command mode - insert mode
在命令模式下面,按i或者I進入插入模式,插入模式能夠用來修改文件。從插入模式返回命令模式按ESC
大寫A ,光標到行尾並進入插入模式。
大寫I ,光標進入行首並進入插入模式
大寫O ,在當前行上插入空行
小寫0 ,在當前行後插入空行
命令模式進入退出模式
: ,進入退出模式
q ,退出,若是進行了修改則不能夠單獨q退出
q! , 強制退出不保存
w ,保存
x , 保存退出至關於wq
在命令模式下
ctrl+arrow
按照字符移動:箭頭鍵 、h 、j 、k 、l
按照單詞移動:w 、 b
按照句子移動:) 、 (
按照段落移動: } 、 {
跳至行X: XG或:X
跳至末尾:G
跳至文件的第一行: dd
/按照關鍵字查找 /關鍵字 n 、N
撤銷上一部操做u ,撤銷到上次保存後的所有操做:U
set num 顯示行號
set ignorecase忽略大小寫
dd剪切 P粘貼
可視化模式:
ctrl+W 多視窗操做
在 ~/viminfo裏面保存了該用戶所有的vim操做