文本編輯器是非常重要的工具,無論是顯示簡單文本文件還是需要修改某些系統(tǒng)配置文件。在Red Hat Linux系統(tǒng)中有很多不同的文件顯示及編輯處理工具,在此進介紹一些常用的顯示及編輯命令。
4.5.1 顯示文件內(nèi)容Cat
最簡單、也是最早使用的文本文件命令是 Cat命令,用來將文本內(nèi)容顯示到終端上,其命令格式如下:
# cat [選項]文件列表
常用命令選項如表4--13所示。
|
選項
|
意義
|
|
-b
|
計算所有非空輸出行,開始為1
|
|
-n
|
計算所有空輸出行,開始為1
|
|
-s
|
將相連的多個空行用一空行代替
|
|
-e
|
在每行末尾顯示$符號
|
4.5.2 查看文件前部 head
如果僅想知道文件前面的一部分,可以使用 head命令來查看文件的前部。其命令格式如下:
# head [選項] 文件列表
常用選項如表4—14所示
表4—14 head 命令常用選項
|
選項
|
意義
|
|
-c,--bytes=SIZE
|
打印起始的SIZE字節(jié)
|
|
-n,--lines=NUMBER
|
顯示起始的 NUMBER行,而非默認的起始10行
|
|
-q
|
從不顯示給出文件名的部首
|
|
-v
|
總是顯示給出文件名的部首
|
如果在標準輸出上顯示的文件多一個,head將會一個接一個地顯示,并且在每個文件顯示的首部給出文件名。
例如,如果想顯示test.log文件的頭兩行,可以使用如下命令:
# head –n 2 –v test.log
執(zhí)行該命令則會顯示 test.log文件的頭兩行。
4.5.3 觀察文件末端 tail
同樣,也可以僅查看文件的末尾部分。tail命令能夠觀察文本文件的末端或跟蹤文本文件的增長。其命令格式如下:
# tail [選項] 文件名
常用命令選項如表4—15所示。
表4—15 tail命令常用選項
|
選項
|
意義
|
|
-c,--bytes=SIZE
|
打印最后的 SIZE字節(jié)
|
|
-n,--lines=NUMBER
|
顯示最后的NUMBER行,而非默認的起始10行
|
|
-q
|
從不顯示給出文件名的部首
|
|
-v
|
總是顯示給出文件名的部首
|
|
-f
|
當文件增長時,輸出后續(xù)添加的數(shù)據(jù)
|
|
-s,--sleep-interval=S
|
與- f合用,表示在每次反復的間隔休眠S秒
|
|
--pid=PID
|
與- f合用,表示在進程ID為 PID的進程死掉之后結束
|
|
--retry
|
即使tail開始時就不能訪問或者在tail運行后不能訪問,也仍然不停地嘗試打開文件,只與- f合用時有用
|
如果在標準輸出上顯示的文件多于一個, tail將會一個接一個地顯示,并且在每個文件顯示的首部給出文件名。
例如,如果想顯示test.;og文件的末尾兩行,可以使用如下命令:
# tail –n 2 –v test.log
執(zhí)行該命令則會顯示test.log文件的末尾兩行。
4.5.4 查找文件內(nèi)容grep
如果想要在 shell 顯示中查找某個特定的字符串,可以使用grep命令在文件中查找與給出模式相匹配的內(nèi)容,其命令格式如下:
# grep [選項]匹配字符串 文件列表
命令grep的常用選項如表4—16所示
表4---16 grep命令常用選項
|
選項
|
意義
|
|
- c
|
對匹配的行計數(shù)
|
|
-l
|
只顯示包含匹配的文件的文件名
|
|
-h
|
抑制包含匹配的文件的文件名的顯示
|
|
-n
|
每個匹配行只按照相對的行號顯示
|
|
-I
|
產(chǎn)生不區(qū)分大小寫的匹配,默認狀態(tài)是區(qū)分大小寫
|
|
-v
|
列出不匹配的行
|
查找的各文件之間可用空格分隔。例如,如下圖所示,查找test.log文件中包含Linux的內(nèi)容并顯示行號,可以使用如下命令:
# grep –n “linux”test.log
查找當前目錄下包含“Linux”的文件并對各文件匹配的行計數(shù),可以使用如下命令:
[root@localhost root]# grep –c “linux” *.*
此外,grep命令還可以和其他命令的結果聯(lián)合使用,例如命令:
[root@localhost root] # # ls|grep-v “test”
將使grep 接收ls命令的輸出,并除去所有包含單詞test的文件。從顯示結果發(fā)現(xiàn),正是除去了test.c和test.log文件。
4.5.5 分屏顯示文件 more和 less
more命令是通用的按頁顯示命令,也可以用來在終端屏幕顯示文件,其命令格式如下:
# more [ 選項] 文件名
more命令的常用選項如表4---17所示。
表4---17 more命令常用選項
|
選項
|
意義
|
|
-c
|
用 more給文本在翻頁時通過從頭清除一行,然后再在最后寫下一行的方法寫入。通常,more清除屏幕,再寫每一行
|
|
-n
|
用于建立大小為n行的窗口。窗口大小是在屏幕上顯示多少行
|
|
-d
|
顯示“Press space to continue,‘q‘quit”代替more 的默認提示符
|
|
-s
|
多個空行壓縮處理為一個
|
|
-p
|
不滾屏,代替它的是清屏并顯示文本
|
例如,想分頁顯示文件log.txt,可以使用如下命令:
[root@localhost root]# #more log.txt
less也是通用的按頁顯示命令,類似more ,也允許瀏覽文件,但它更加靈活,同時允許在文件中向前和向后移動顯示,其命令格式如下:
# less [選項] 文件名
less 命令的常用命令如表4---18所示。
表4---18 less 命令常用選項
|
選項
|
意義
|
|
-?
|
顯示less 接收的命令小結。若給出本選項則忽略其他選項,less 保留并在幫助屏后顯示
|
|
-a
|
在當前屏幕顯示的最后一行之后開始查詢
|
|
-c
|
從頂行向下全屏重寫
|
|
-E
|
第一行到文件尾后自動退出 less。若默認,唯一退出 less的方式是通過q 命令。
|
|
-n
|
去掉行號
|
|
-s
|
將多個空行壓縮成一個行
|
|
-x n
|
每次按制表符走 n格,n 的默認值上8
|
通過 more 及 less命令,用戶可以非常容易地分屏顯示較大的文件。
4.5.6 文本編輯工具 vi
vi 是Linux 下最常用的文本編輯工具,其命令格式如下:
# vi 文件名
進入 vi 編輯環(huán)境后,可以非常容易地使用該編輯器,在前面的章節(jié)中已經(jīng)介紹過了,在此不再更多地介紹了。僅舉幾個例子說明。例如,使用 vi 對test.log進行編輯,可以使用如下命令:
[root@localhost root] # vi text.log
按下“i”或“Insert”鍵,系統(tǒng)將進入插入狀態(tài) ,可以對文件進行編輯,執(zhí)行命令。
編輯結束后,按〈Esc〉鍵將返回命令模式,使用命令“;wq”,系統(tǒng)將保存對文件的修改,并退出。
這時查看文件test.log可以看到,新做的修改已經(jīng)保存。更多內(nèi)容請詳見本書相關章節(jié)或其他資料。