Unix命令cat

catfile1file2>file3catfile1file2>|file3的区别... cat file1 file2 >file3
cat file1 file2 >|file3的区别
展开
 我来答
痴迷护肤的老荞
推荐于2017-09-24 · 只有正确的护理方向,才能拥有持久的美丽
痴迷护肤的老荞
采纳数:4171 获赞数:51096

向TA提问 私信TA
展开全部
这个命令可不是“猫”的意思,而是catenate的缩写。顾名思义,是把东西串起来。
比如:cat file1 file2
就是把文件file1和file2连在一起,然后输出到屏幕上。注意,输出到屏幕上是cat的自定义目的。如果要改变它的输出方向,就必须使用 Unix操作系统系统的输出重定向符">",">"输出重定向符。稍微高级一点的dos用户都知道这个符号。在Unix操作系统里的用法同 Dos的区别不是很大。但比较不同的地方是,Unix操作系统系统将任何的一个外设都认同为一个文件。
所以如果你要将输出重定向到打印机之类的地方,只要写上代表打印机的设备文件名。前一章里我们曾讲过终端机器名,它也是一个文件。
比方我的设备机器 是ttya,而小李的设备机器是ttyb,他想让我把当前目录的内容给他看。那么用这条命令就可以了ls -a-u-F >ttyb。这充分利用了Unix操作系统系统多用户的设计思想。
同样的使用ls -a-u-F>file1就是将当前Unix操作系统目录列表输出到file1中。
又比如: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中的内容。
Unix常用命令cat命令格式参数
  命令:cat
  使用权限:所有使用者
  使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
  说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
  参数:
  -n 或 --number 由 1 开始对所有输出的行数编号
  -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
  -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  -v 或 --show-nonprinting
  范例:
  cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
  cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3
精心生活每一天
2013-10-24 · TA获得超过370个赞
知道小有建树答主
回答量:261
采纳率:100%
帮助的人:75.7万
展开全部
楼主你好!
上面两个命令,也就是>重定向和>|重定向,仅仅当参数noclobber被设置之后才有区别;否则,两个命令效果等同,都是把文件file1和file2的内容加到file3文件中去,如果file3事先不存在,会被新建,如果flle3事先已经存在,会被覆盖。
当noclobber参数设置后,对于第一个命令,也就是>重定向,如果file3文件不存在,会新建file3文件,如果file3已经存在,会提示错误,显示无法覆盖已经存在的文件;对于第二个命令,也就是>|重定向,如果file3文件不存在,会新建file3文件,如果file3已经存在,会被覆盖。

也就是说,设置bash环境中的noclobber参数,可以用来防止>重定向时已有的文件不小心被覆盖,但不能防止>|重定向的覆盖。
设置noclobber参数的命令是:
set -o noclobber
取消设置noclobber参数的命令是:
set +o noclobber
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式