一天一linux命令(10) cat more less head tail 文件内容显示

时间:2021-12-20 21:17:19

最常用的是cat,more及less。此外,如果要查看一个很大的文件(好几百MB),但是我们只需要后面的几行字,这要使用tail,tac指令也可以用于这个目的。

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

  语法:cat [-AbeEnstTuv] [--help] [--version] fileName 
  说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)。cat是Concatenate(连续)的简写
  参数: 
  -n 或 --number 输出行数编号 
  -b 或 --number-nonblank 和 -n 相似,但空白行不编号 
  -s 或 --squeeze-blank 将连续空白行只显示为一行空白行 
  -v 或 --show-nonprinting 
 范例: 
 例一:把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 
   $ cat -n textfile1 > textfile2 
 例二:把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。 
   $ cat -b textfile1 textfile2 >> textfile3 
 例三:cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容 

tac  从最后一行开始显示。可以看出,tac是cat的倒写

more  一页一页地显示文件内容

  语法:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 
  说明:以一页一页的显示。最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且可搜寻字串(与 vi 相似),使用中的说明文件,请按 h 。 
参数: -<num> 一次显示的行数 
  -d 提示使用者。出错时文字提示,而不是 '哔' 声 
  -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 
  -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) 
  -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 
  -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 
  -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 
  -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) 
  +/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示 
  +<num> 从第 num 行开始显示 
范例 例一:一页一页地将ls的内容显示出来 $ ls -al | more 

less  与more类似,优点是可以往前翻页

 语法:less [Option] filename   
 说明:可以使用[pageup]、[pagedown]等按键的功能向前向后翻看文件。同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
按键: /word:文件中搜寻word这个字符串
q  :退出less画面 

head  只看头几行

语法:head [-n number] [文件名] 
参数说明:
-n :显示number行.
默认只显示前10行

tail  只看末尾几行。与head类拟

范例一:想显示~/.bashrc的第11~20行。可以先取前20行,再取后10行。 $ head –n 20 ~/.bashrc | tail –n 10

nl  显示时同时输出行号

od  以二进制方式读取文件内容

以八进制字码呈现出来