有許多命令都可以查看文件,不同的命令有不同的優點,可以針對不同的需要分別選擇命令以提高效率:
cat 由第一行開始顯示內容,並將所有內容輸出
tac 從最後一行倒序顯示內容,並將所有內容輸出
more 根據窗口大小,一頁一頁的現實文件內容
less 和more類似,但其優點可以往前翻頁,而且進行可以搜索字符
head 只顯示頭幾行
tail 只顯示最後幾行
nl 類似於cat -n,顯示時輸出行號
我使用最多的是more和less!
1.cat 與 tac
cat的功能是將文件從第一行開始連續的將內容輸出在屏幕上。但是cat並不常用,原因是當文件大,行數比較多時,屏幕無法全部容下時,只能看到一部分內容。
cat語法:cat [-n] 文件名
參數說明:-n : 顯示時,連行號一起輸出
例如:
[root@redhat ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
加入-n參數
[root@redhat ~]# cat -n .bashrc
1 # .bashrc
2
3 # User specific aliases and functions
4
5 alias rm='rm -i'
6 alias cp='cp -i'
7 alias mv='mv -i'
8
9 # Source global definitions
10 if [ -f /etc/bashrc ]; then
11 . /etc/bashrc
12 fi
tac的功能是將文件從最後一行開始倒過來將內容數據輸出到屏幕上。我們可以發現,tac實際上是cat反過來寫。
tac語法:tac 文件名
例如:
[root@redhat ~]# tac .bashrc
fi
. /etc/bashrc
if [ -f /etc/bashrc ]; then
# Source global definitions
alias mv='mv -i'
alias cp='cp -i'
alias rm='rm -i'
# User specific aliases and functions
# .bashrc
發現沒有,和cat輸出的比較,完全是倒過來的。這個命令也不常用。
2.more和less(推薦使用)
相對於cat和tac來說,more和less很好用。
more的功能是將文件從第一行開始,根據輸出窗口的大小,適當的輸出文件內容。
當一頁無法全部輸出時,可以用“回車鍵”向下翻3行(我的環境是3行,其他linux版本可能不同),或者使用“空格鍵”向下翻頁。
退出查看頁面,請按“q”鍵。
另外,more還可以配合管道符“|”(pipe)使用,例如:ls -al | more
more的語法:
more 文件名
less的功能和more相似,但是使用more無法向前翻頁,只能向後翻。
less可以使用【pageup】和【pagedown】鍵進行前翻頁和後翻頁,這樣看起來更方便。
less的語法:
less 文件名
less還有一個功能,可以在文件中進行搜索你想找的內容,假設你想在passwd文件中查找有沒有weblogic字符串,那麼你可以這樣來做:
[root@redhat etc]# less passwd
然後輸入:
/weblogic
回車
此時如果有weblogic字符串,linux會把該字符已高亮方式顯示。
退出查看頁面,請按“q”鍵。
3.head和tail
head和tail通常使用在只需要讀取文件的前幾行或者後幾行的情況下使用。
head的功能是顯示文件的前幾行內容
head的語法:
head 【-n number】 文件名
例如:
[root@redhat etc]# head -n 5 passwd --只顯示5行內容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tail的功能恰好和head相反,只顯示最後幾行內容
tail的語法:
tail [-n number] 文件名
例如:
[root@redhat etc]# tail -n 10 passwd --只顯示最後5行
userb:x:503:504::/home/userb:/bin/bash
userc:x:504:502::/home/userc:/bin/bash
zgz:x:505:505::/home/zgz:/bin/bash
myy:x:506:505::/home/myy:/bin/bash
weblogic:x:507:508::/home/weblogic:/bin/bash
4.nl
nl的功能和cat -n一樣,同樣是從第一行輸出全部內容,並且把行號顯示出來
nl的語法:
nl 文件名
例如:
[root@redhat etc]# nl ~/.bashrc
1 # .bashrc
2 # User specific aliases and functions
3 alias rm='rm -i'
4 alias cp='cp -i'
5 alias mv='mv -i'
6 # Source global definitions
7 if [ -f /etc/bashrc ]; then
8 . /etc/bashrc
9 fi
轉自:http://blog.chinaunix.net/uid-128922-id-289974.html