[Unix常用命令cat]
这个命令可不�?ldquo;�?rdquo;的意思,而是catenate的缩写。顾名思义,是把东西串起来。比如:cat file1 file2
就是把文件file1和file2连在一起,然后输出到屏幕上。注意,输出到屏幕上是cat的自定义目的。如果要改变它的输出方向,就必须使用Unix操作系统系统的输出重定向�?quot;>"�?quot;>"输出重定向符。稍微高级一点的dos用户都知道这个符号。在Unix操作系统里的用法同Dos的区别不是很大。但比较不同的地方是,Unix操作系统系统将任何的一个外设都认同为一个文件�?/p>
所以如果你要将输出重定向到打印机之类的地方,只要写上代表打印机的设备文件名。前一章里我们曾讲过终端机器名,它也是一个文件。比方我的设备机器是ttya,而小李的设备机器是ttyb,他想让我把当前目录的内容给他看。那么用这条命令就可以了ls -a-u-F >ttyb。这充分利用了Unix操作系统系统多用户的设计思想�?/p>
同样的使用ls -a-u-F>file1就是将当前Unix操作系统目录列表输出到file1中�?/p>
又比如:cat file1 file2>file3
就是将文件file1和file2的内容输出到file3中。在Dos里这条命令被写成copy file1 file2 file3
当你�?>'来输出重定向的时候,Unix操作系统马上打开一个空文件来准备存�?>'之前那个文件命令的输出结果。比如:
cat file1 file2>file3
系统先将file3的内容清空。所以:cat file1 file2>file1这条命令将产生一个错误提示。也许这条命令的本意是增加file1里的内容,但在系统初始这条命令的时候就把file1里的内容清空了。所以你得到一个错误提示。如果要追加文件内容请使用以下命令:cat file2>>file1">>"表示追加,而不是先清空file1中的内容�?/p>
Unix常用命令cat命令格式参数
命令:cat
使用权限:所有使用�?/p>
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档�?
参数�?/p>
-n �?--number �?1 开始对所有输出的行数编号
-b �?--number-nonblank �?-n 相似,只不过对于空白行不编号
-s �?--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白�?/p>
-v �?--show-nonprinting
范例�?/p>
cat -n textfile1 > textfile2 �?textfile1 的档案内容加上行号后输入 textfile2 这个档案�?/p>
cat -b textfile1 textfile2 >> textfile3 �?textfile1 �?textfile2 的档案内容加上行�?空白行不�?之后将内容附加到 textfile3