日期:2014-05-16  浏览次数:20777 次

linux 查看文件内容的命令
观看档案内容:cat, tac, more, less, head, tail, nl,
刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我们要视察一个档案的内容时,该如何是好呢?!这里有相当多有趣的指令可以来分享一下:最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案(好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个指令也可以达到!好了,说说各个指令的用途吧!
cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl?? 显示的时候,顺道输出 行号!
od?? 以二进制的方式读取档案内容!
底下我们来谈一谈每个指令的基本用法吧!
--------------------------------------------
· cat
语法:
[root @test /root ]# cat [-nAE]
参数说明:
-n:?? 显示时,连行号印出屏幕上。
-A:?? 将 DOS 下的 <tab> 与断行字符都列出来!
-E:?? 将 DOS 编辑的文件中,仅列出 断行字符出来!
范例:
[root @test /root]# cat ~/.bashrc???????? <==显示 .bashrc 这个档案
# .bashrc
# User specific aliases and functions
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l --color=never'
[root @test /root]# cat ~/.bashrc -n????? <==显示 .bashrc 并且加上行号!
???? 1 # .bashrc
???? 2
???? 3 # User specific aliases and functions
???? 4 PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
???? 6 alias rm='rm -i'
???? 7 alias cp='cp -i'
???? 8 alias mv='mv -i'
???? 9 alias ll='ls -l --color=never'
[root @test /root]# cat -A regexp.txt
This is a cat, however, I need a dog.^M$
I want to "Happy" and <Happy> and /Happy/ here.^M$
OK! ^Ieverythins is OK^M$
Now, I will eat my food^M$
are you ^Ifinished your work^M$
what do you 123 goto where^M$
显示出 DOS 档案的几个特殊符号,以上面档案为例,
可发现 ^M 为断行符号,而每行的 $ 为行尾符号,
至于 ^I 则是 <tab> 按键啦!
嘿嘿! Linux 里面有『猫』?!喔!不是的, cat 是 Concatenate (连续)的简写,主要的功能是将一个档案的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档 .bashrc 印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!cat 比较少用!毕竟当你的档案内容的行数超过 40 行以上,嘿嘿!根本来不及看!所以,配合 more 或者是 |more 来执行比较好!此外,如果是一般的 DOS 档案时,就需要特别留意一些奇奇怪怪的符号了,例如断行与<tab>等,要显示出来,就得加入 -A 之类的参数了!。
 
--------------------------------------------
· tac
语法:
[root @test /root ]# tac [檔名]
参数说明:
范例:
[root @test /root]# tac ~/.bashrc <==发现了没?反向印出呦!
fi
??????? . /etc/bashrc
if [ -f /etc/bashrc ]; then
# Source global definitions
alias h='history'
alias lm='ls -al|more'
alias ll='ls -l'
# alias ll='ls -l --color=never'
alias mv='mv -i'
alias cp='cp -i'
alias rm='rm -i'
export PATH
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
# User specific aliases and functions
# .bashrc
说明:
tac 这个好玩了!怎么说呢?详细的看一下, cat 与 tac ,有没有发现呀!对啦! tac 刚好是将 cat 反写过来,所以他的功能就跟 cat 相反啦, cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac 则是『由最后一行到第一行反向在屏幕上显示出来』,很好玩吧!
 
--------------------------------------------
· more
语法:
[root @test /root ]# more [檔名]
参数说明:
范例:
[root @test /root]# more ~/.bashrc <==一页一页的显示档案内容
[root @test /]# ls -al | more <==一页