时间:2017-08-17来源:东坡网作者:zhijie
2.标准错误重定向
重定向标准输出到文件,这是一个很实用的操作,另一个很实用的操作是将标准错误重定向,标准输出和标准错误都被指向伪终端的屏幕显示,所以经常看到的一个命令的输出通常是同时包含了标准输出和标准错误的结果的。比如下面的操作:
# 使用cat 命令同时读取两个文件,其中一个存在,另一个不存在
$ cat Documents/test.c\~ hello.c
# 你可以看到除了正确输出了前一个文件的内容,还在末尾出现了一条错误信息
# 下面我们将输出重定向到一个文件,根据我们前面的经验,这里将在看不到任何输出了
$ cat Documents/test.c\~ hello.c 》 somefile
遗憾的是,这里依然出现了那条错误信息,这正是因为如我上面说的那样,标准输出和标准错误虽然都指向终端屏幕,实际它们并不一样。那有的时候我们就是要可以隐藏某些错误或者警告,那又该怎么做呢。这就需要用到前面讲的文件描述符了:
# 将标准错误重定向到标准输出,再将标准输出重定向到文件,注意要将重定向到文件写到前面
$ cat Documents/test.c\~ hello.c 》somefile 2》&1
# 或者只用bash提供的特殊的重定向符号“&”将标准错误和标准输出同时重定向到文件
$ cat Documents/test.c\~ hello.c &》somefilehell
注意你应该在输出重定向文件描述符前加上&,否则shell会当做重定向到一个文件名为1的文件中
3.使用tee命令同时重定向到多个文件
经常你可能还有这样的需求,除了将需要将输出重定向到文件之外也需要将信息打印在终端,那么你可以使用tee命令来实现:
$ echo ‘hello shiyanlou’ | tee hello
2023-03-16
Linux通过shell脚本创建SVN版本库的方法2023-03-16
Linux安装使用Axel的步骤2023-03-16
Fedora系统ifconfig和netstat命令找不到的解决方法Linux系统下netstat命令的用法有很多,能够列出所有端口,显示当前UDP连接状况,今天小编要给大家介绍的是Linux使用netstat命令查看80端口连接数的方法,不了解的朋友可以来学习下。...
2023-03-16
Linux在启动sshd服务的时候,出现错误提示,提示Could not load host key:/etc/ssh/ssh_ed25519_key,这段错误代码是什么意思呢?遇到该错误代码该如何解决问题呢?随小编一起来学习下吧。...
2023-03-16