欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 标准输出重定向

程序员文章站 2022-04-10 12:00:24
...

一、引例

用远程服务器登陆工具(SecureCRT、Putty 等等)登陆 Linux 服务器的时候,过一段时间可能会自动断开连接,这时候需要重新登陆。原本进程去了后台,前台信息就没有了 。为了解决这个问题,需要将标准输出重定向到文件中。

二、标准输入输出

  • 在 Linux 下几乎一切都是文件,标准输入、输出也不例外,被称作文件描述符 (File Descriptor),简称 fd。所以在有些网络库底层源码中我们会看到 fd 这个变量命名。
名称 代码
标准输入 stdin 0
标准输出 stdout 1
标准错误输出 stderr 2

三、2>&1 重定向

  • 2>&1的意思就是将 标准错误 重定向到 标准输出

2 表示 标准错误
1 表示 标准输出
>& 是一个整体,代表 重定向

四、日志重定向步骤

  • 1)启动服务器的 shell 脚本叫 run_server.sh;
  • 2)再写一个shell脚本作为代理的启动脚本 run.sh,实现如下:
	---[run.sh]---
	sh run_server.sh > watch.log 2>&1

表示将 标准输出 和 标准错误 都重定向到 watch.log 文件中;调用 ./run.sh,就可以发现输出信息都没有了。

  • 3)现在的输出都在watch.log 文件中,直接用如下 shell 就可以试试看到信息显示了。
	tail -f watch.log