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

linux查看文件内容(cat)

如果要查看文件内容,如何做呢?有相当多的命令:最常用的显示文件内容的命令是cat与more及less。此外,如果要查看一个大型文件(好几百MB时),只需要最后的几行字,如何做?用tail,此外,tac命令也可以实现。下面说说各个命令的用途。

??cat:由第一行开始显示文件内容。?
??tac:从最后一行开始显示,可以看出tac与cat字母顺序相反。
??nl:显示的时候,也输出行号。
??more:一页一页地显示文件内容
??less与more类似,但它可以向前翻页。
??head:只看前几行。
??tail:只看最后几行。
??od:以二进制方式读取文件内容。

直接查看一个文件的内容可以使用cat/tac/nl这几个命令。
cat(concatenate)

?

[root@linux ~]# cat [-AEnTv]
参数:
-A : 相当于 -vET的整合参数,可列出一些特殊字符。
-E : 将结尾的换行符 $ 显示出来。
-n : 显示行号。
-T : 将 [tab] 按键以 ^I显示出来。
-v : 列出一些看不出来的特殊字符
范例:
范例一:查看 /etc/issue这个文件的内容
[root@linux ~]# cat /etc/issue
Fedora Core release 4 (Stentz)
Kernel \r on an \m

范例二:承上题,顺便显示出行号时。
[root@linux ~]# cat -n /etc/issue
1? Fedora Core release 4 (Stentz)
2? Kernel \r on an \m
3
# 看到了。可以显示行号。对于要在大文件中找某行时,有点用处。

范例三:将 /etc/xinetd.conf的内容完整地显示出来(包含特殊字符)。
[root@linux ~]# cat -A /etc/xinetd.conf
#$
# Simple configuration file for xinetd$
#$
# Some defaults, and include /etc/xinetd.d/$
$
defaults$
{$
^Iinstances?????????????? = 60$
log_type??????????????? = SYSLOG authpriv$
log_on_success^I^I= HOST PID$
log_on_failure^I^I= HOST$
^Icps^I^I^I= 25 30$
}$
$
includedir /etc/xinetd.d$
# 在一般环境中,显示出来的结果有 [tab] 与空格键,其实看不出来,
# 那么,使用cat -A时,会将 [tab] 按键以 ^I显示,而换行符也会显示出来。
# 最特殊的当然就是换行符了。换行符在Linux与Windows是不一样的。
# Linux是以 $ 为换行符,而在Windows则是以 ^M$ 为换行符。
# 这部分会在第10章再次说明。

?

cat是Concatenate(连续)的简写,主要的功能是将一个文件的内容连续显示在屏幕上面。例如,上面的例子中,我们将 /etc/issue显示来。如果加上 -n的话,则每一行前面还会加上行号。笔者很少用cat。毕竟当文件内容行数超过40行以上,根本来不及看。所以,配合稍候介绍的more或者是less比较好。此外,如果是一般的DOS文件,就需要特别注意一些奇怪的符号了,例如换行符与 [tab] 等,要显示出来,就要加入 -A之类的参数了。