php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 289|回复: 0

liunx标准输入与输出

[复制链接]

2629

主题

2636

帖子

9344

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
6593
贡献
0
注册时间
2021-4-14
最后登录
2024-4-28
在线时间
668 小时
QQ
发表于 2022-9-17 07:43:11 | 显示全部楼层 |阅读模式
一、Linux提供了三种输入/输出通道给程序
在linux中,每个进程都会有三个文件,并且这三个文件会进行重定向处理:
1. 标准输入(STDIN) - 缺省为键盘
2. 标准输出(STDOUT) - 默认为终端窗口
3. 标准错误(STDERR) - 默认为终端窗口
b5db6ee6606c32c766b47bb2677a1a0b_1767782-20220914234111824-1631039515.png
4. 2>&1中的数字就是上面重定向后的数字
  0: 表示键盘输入
  1:将信息输入到屏幕(一般linux命令都是默认为1)
  2:将信息输入到错误输出



二、标准输出和标准错误能重定向到文件中:

1. 命令 > 文件:重定向标准输出到文件

2. 命令 2> 文件:重定向标准错误到文件

3. 命令 &> 文件:重定向所有的输出到文件

ps:使用>时会将文件内容会覆盖,使用>>时文件内容追加



三、示例:重定向输出给一个文件示例

当前文件夹存在内容为hello world的test001.txt的文件,但是没有test002.txt

1. cat两个文件时将标准输出与标准错误至控制台:
cat test001.txt test002.txt

52bdbacd3ffc6478ee722fbdd55800d5_1767782-20220916205530203-1516849955.png

2. 重定向标准输出到文件,不包含标准错误

cat test001.txt test002.txt  > 1.out
c2de6c7564c85d87adb69ee4d5abef84_1767782-20220916205835782-923723502.png
3. 重定向标准错误到文件

cat test001.txt test002.txt  2> 1.out
5857cc5a240d0df52b4de335a913697f_1767782-20220916210909717-226250621.png

4. 重定向准输出与标准错误输出至文件

cat test001.txt test002.txt  &> 1.out
3edc12e6709f255815e7389dfc8ddbb7_1767782-20220916211716528-1036183706.png

5. 重定向准输出与标准错误输出至两个不同的文件

cat test001.txt test002.txt  > 1.out  2> 2.out

0691ad562419dc7d6382f8fb8cfac8bd_1767782-20220916211914858-570432091.png
三、常见用法:

1. 后台程序运行并,并将日志保存至默认地址nohup.out:
nohup java -jar wiremock-jre8-standalone-2.33.2.jar --port 7777 2>&1 &
nohup 命令含义:运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部
如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中
613b0d590c007e529032949e2ae3dc60_1767782-20220917000244918-1671017297.png
2. 同上的命令简化命令,日志保存至log日志内:
nohup java -jar wiremock-jre8-standalone-2.33.2.jar --port 7777 &>log &

0438dd10efa0dcf731b48c31381e9a65_1767782-20220917000404016-62032748.png
3. 后台程序运行,并在日志输入至黑洞,即不保存日志:
nohup java -jar wiremock-jre8-standalone-2.33.2.jar --port 7777 >/dev/null 2>&1 &
cb44c023807003373001f4a4cb3a7e45_1767782-20220917001809741-1945225517.png
4. 后台程序运行,分别将标准输出与标准错误写入不同的日志文件内。


5b5d78fa9dfcb08c226531f6edabeb9c_1767782-20220917002237449-243928565.png





上一篇:手把手教你用Java获取IP归属地
下一篇:搜狐号火车头采集规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )51LA统计

GMT+8, 2024-4-29 11:42 , Processed in 0.195589 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表