Ubuntu系统的命令行流有三中
- 输入流,数字编码为0.
- 输出流,数字编码为1.
- 错误输出流,数字编码为2
关于流的输出输入方向
主要用>,<,&等组合表示
符号 | 含义 |
> | 将命令行的输出流定位到文件或其他设备中。 |
< | 从文件而不是从键盘或句柄读入命令输入,输入到命令行。 |
>> | 将命令行的输出流定位到文件或其他设备中,不删除之前的信息 |
>& | 将一个句柄的输出写入到另一个句柄的输入中。 |
<& | 从一个句柄读取输入并将其写入到另一个句柄输出中。 |
| | 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。 |
例子
启动一个jar包,jar包名为smon.jar 平常的启动命令为java -jar smon.jar 但是这样并不能在后台执行,想要把日志打印到文件中,可以这样用java -jar smonitor-agent-0.1.2-SNAPSHOT.jar 2>&1 > logs.log &。
- 先将错误流导入标准的输出流中 2>&1。
- 将命令行的输出流转到logs.log文件中 > logs.log。
- 启用后台运行 &。
就可以将程序的日志写到 logs.log中了。