直接查看文件內(nèi)容
1. cat
cat 是concatenate的縮寫(xiě),主要功能是將文件內(nèi)容連續(xù)顯示在輸出設(shè)備上,搭配有效的參數(shù),可以使輸出內(nèi)容達(dá)到自己想要的結(jié)果。它的缺點(diǎn)是當(dāng)文件內(nèi)容行數(shù)很多時(shí),往往根本來(lái)不及看,所以使用時(shí)有局限性。
$ cat rainbow
This
is
my
rainbow.
'[-n]參數(shù),用來(lái)顯示行號(hào)'
$ cat -n rainbow
1 This
2 is
3 my
4 rainbow.
'[-A]參數(shù),用來(lái)將文件內(nèi)容完整顯示(包含特殊字符)'
$ cat -A rainbow
This $
is $
my $
^Irainbow.$
正常情況下,即使文本內(nèi)容中有Tab或換行符等特殊字符,輸出結(jié)果中也不會(huì)展示出來(lái)。使用cat -A
時(shí),輸出結(jié)果中會(huì)將Tab以^I
顯示,換行符會(huì)顯示為$
。在Windows系統(tǒng)中,是以^M$
為換行符,如果在Windows平臺(tái)下調(diào)試通過(guò)的腳本放在Linux系統(tǒng)中卻報(bào)錯(cuò),vim中查看代碼也沒(méi)有發(fā)現(xiàn)任何問(wèn)題,那就需要考慮是不是換行符引發(fā)的問(wèn)題。
2. tac
從單詞來(lái)看,tac
是上一個(gè)命令cat
的反寫(xiě),實(shí)際它的功能也和cat
有類(lèi)似關(guān)系。cat
是將第一行到最后一行內(nèi)容連續(xù)顯示在輸出設(shè)備上,而tac
則是將最后一行到第一行內(nèi)容連續(xù)顯示在輸出設(shè)備上。
$ tac rainbow
rainbow.
m y
is
This
3. nl
nl
命令和cat -n
命令類(lèi)似,也是會(huì)在顯示內(nèi)容時(shí)自動(dòng)添加行號(hào)。但是nl
命令會(huì)自動(dòng)跳過(guò)空白行,而cat -n
則不會(huì)忽略空白行。
$ nl rainbow
1 This
2 is
3 m y
4 rainbow.
$ cat -n rainbow
1 This
2 is
3 m y
4 rainbow.
5
6
補(bǔ)充:nl
命令和cat -n
相比,還可以對(duì)行號(hào)做較多的設(shè)置,如行號(hào)位數(shù)設(shè)置、自動(dòng)補(bǔ)零等。
翻頁(yè)查看文件內(nèi)容
cat,tac,nl
這三個(gè)命令都是一次性全部將文件內(nèi)容展示在屏幕上,而more
和less
命令則支持翻頁(yè)查看輸出內(nèi)容,當(dāng)內(nèi)容行數(shù)很多時(shí)會(huì)變得非常方便。
1. more
$ more log.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
....省略中間的內(nèi)容.....
.parent-name {
font-size: 0.7em;
letter-spacing: -0.07em;
--More--(1%)
在more
命令運(yùn)行中,有幾個(gè)按鍵可以使用:
- 空格鍵:向下翻頁(yè)
- Enter: 向下翻一行
- /字符串:向下搜索字符串內(nèi)容,按n可以重復(fù)搜索同一內(nèi)容
-
:f
:顯示文件名及當(dāng)前顯示的行數(shù) -
q
: 退出命令
2. less
less
命令比more
命令要更加靈活。使用more
命令的時(shí)候,只能按空格鍵向下翻頁(yè),不支持向上翻頁(yè),而less
命令就可以使用[PageUp]
、[PageDn]
等按鍵自由前后翻看文件內(nèi)容。除此之外,less
命令支持更多的字符串搜索功能,不僅可以向下搜索,也可以向上搜索。
在less
命令運(yùn)行中,有幾個(gè)按鍵可以使用:
- 空格鍵或[PageDn]:向下翻頁(yè)
- [PageUp]:向上翻頁(yè)
- Enter或向下箭頭: 向下翻一行
- /字符串:向下搜索字符串內(nèi)容
- ?字符串:向上搜索字符串內(nèi)容
-
:f
:顯示文件名及當(dāng)前顯示的行數(shù) -
n
:重復(fù)前一個(gè)搜索(與/或?有關(guān)) -
N
:反向重復(fù)前一個(gè)搜索(與/或?有關(guān)) -
q
: 退出命令
更多用法,可以使用man less
查看。
除了從上面介紹的幾個(gè)命令外,常用的還有head
和tail
命令,用于取出前幾行或后幾行,基本用法為:
'查看前十行內(nèi)容'
$ head log .html
'查看前20行內(nèi)容'
$ head -n 20 log.html
'實(shí)時(shí)查看最新的輸出內(nèi)容'
$ tail -f -n 100 catalina.out
'查看第11~20行內(nèi)容'
$ head -n 20 log.html | tail -n 10