Linux 文件内容查看(cat、tac、nl 、more 、less、head、tail )

Linux系统中使用以下命令来查看文件的内容:

cat:  由第一行开始显示文件内容
tac :从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl:   显示的时候,顺道输出行号!
more :一页一页的显示文件内容
less :与 more 类似,但是比 more 更好的是,他可以往前翻页!
head :只看头几行
tail: 只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

cat:由第一行开始显示文件内容

语法:
cat [-AbEnTv]
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
检看 /etc/issue 这个文件的内容:

[root@www ~]# cat /etc/issue
\S
Kernel \r on an \m

tac 文件内容从最后一行开始显示

[root@node001 ~]# tac /etc/issue
Kernel \r on an \m
\S

nl:查看内容的时候显示行号

语法:
nl [-bnw] 文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。

用 nl 列出 /etc/issue 的内容:

[root@node001 ~]# nl /etc/issue
1 \S
2 Kernel \r on an \m

  

more:一页一页翻动

语法: more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数
[root@node001 etc]# more idmapd.conf
[General]
#Verbosity = 0
# The following should be set to the local NFSv4 domain name # Note that if this value is specified, the local realm name
# must be included in the list!
#Local-Realms =

  

....(中间省略)....
--More--(38%) <== 光标会停在某个百分比的位置等待你的命令

在 more 这个程序的运行过程中:
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less :使用 less 可以随意浏览文件

语法:less [参数] 文件

参数说明

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

例:查看文件并显示行号

[root@node001 ~]# less -N  EtlTestDelete.java 

1 <U+FEFF>
2
3
4
5
6 public class EtlTestDelete {
7
8

  

head:取出文件前面几行

语法:
head [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思

[root@www ~]# head /etc/man.config

默认的情况中,显示前面 10 行!若要显示前 20 行:

[root@www ~]# head -n 20 /etc/man.config

tail:取出文件后面几行

语法:
tail [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

[root@www ~]# tail /etc/man.config

# 默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:

[root@www ~]# tail -n 20 /etc/man.config

  

以上为个人所学记录,仅供参考!!!!

上一篇:angularJs 使用中遇到的问题小结【一:关于传参】


下一篇:mysql5.6 主从同步配置