Linux中tail与cat的差别

Linux中tail与cat的区别
一、tail

功能:显示指定文件的后若干行。
语法:tail [+ / - num ] [参数] 文件
tail命令中各个选项的含义为:
+num 从第num行以后开始显示。
- num 从距文件尾num行处开始显示。如果省略num参数,系统默认值为10。
l 以文本行为num的计数单位。与参数选项+num或- num选项同时使用时,num表示要显示的文本行行数。
c 以字节为num的计数单位。与参数选项+num或- num选项同时使用时,num表示要显示的字符数。
(l、c选项可以省略,系统默认值为l,即按行计数)。
使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

二、cat

cat主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file


使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting

范例:
1、把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2
2、把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
3、清空/etc/test.txt档案内容

cat /dev/null > /etc/test.txt