问题描述:
比如11的文件内容是:
hello
22的文件内容是:
world
将22的文件内容复制到11文件的末尾,11文件的效果就是:
hello
world
解决办法:
cat 22 11
的意思是追加的意思
> 的意思是重定向的意思,会覆盖原先的内容
小Tips:
将a.txt文件的内容清除,并且使得文件的大小为0,而不删除文件可以:
cat /dev/null > a.txt
知识点扩展:
linux 把文件末尾输出到另一个文件
“>”重定向覆盖原来的文件;“”追加 到文件的末尾。
1、重定向标准输出,可以使用“>”符号,举例:
dir my_dir > filelisting.txt
将把 dir 命令的标准屏幕输出重定向到文本文件 filelisting.txt 文件里
2、重定向标准错误,可以使用结构“2> ”, 举 例:
dir my_dir 2> errorlisting.txt
以上命令将送标准输出到屏幕上,如果没有错误信息,将没有任何信息写到 errorlisting.txt 文件里。如果出错,则没有什么东西输出到屏幕,而文件 errorlisting.txt 将包含错误信息。
3、dir my_dir > file_and_error_listing.txt 2> & 1 (&1表示和前面相同)以上命令先重定向标准输出到文本文件里,然后再重定 向标准错误到和标准输出同样的位置。
4、还可以使用符号“| ”(管道命令 )把一个命令的标准输出送到另外一个命令的标准输入 。 下面例子里,dir 命令的标准输出通过管道输入到命令 more 里(输出满屏的时候自动暂停): dir | more
5、使用“tee ”命令把标准输出同时写到文件和屏幕 :dir | tee filelisting.txt
6、Linux下还有一个特殊的文件/dev/null,所有重定向到它的信息都会消失得无影无踪 。当我们不需要回显 程序的所有信息
时,就可以将输出重定向到/dev/null。
7、以下命令是把标准输出和错误都定向到文件
#ls /dev &> filename
"&"在这里代表标准输出和标准错误 ,这里无论是正常输出还是错误信息都写到 filename中了
8、重新定义文件标识符 可以用i>&j命令,表示把文件标识符i重新定向到j,你可以把"&" 理解为"取地址"
请看以下例子
#exec 5>&1
表示把文件标识符5定向到标准输出,这个命令通常用来临时保存标准输入。
Linux tee 命 令功能说明:读取标准输入的数据,并将其内容输出到标准输出和文件。
语 法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件;如果tee后面没有指定文件,
则只将其内容输出到标准输出 设备,tee 只支持单个或两个输出,类似于水管工人使用的 T 型管。
参 数:
-a 或 --append 附加到既有文件的后面,而非覆盖它.
-i-i 或 --ignore-interrupts 忽略中断信号。
--help 在线帮助。
--version 显示版本信息。
例子:
make 2>&1 | tee make.log
command > filename 把把标准输出重定向到一个新文件中
command filename 把把标准输出重定向到一个文件中(追加)
command 1 > fielname 把把标准输出重定向到一个文件中
command > filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把把标准错误重定向到一个文件中
command 2 filename 把把标准输出重定向到一个文件中(追加)
command filename 2>&1 把把标准输出和标准错误一起重定向到一个文件中(追加)
总结
以上所述是小编给大家介绍的linux把一个文件的内容复制到另一个文件的末尾,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com