liunx标准输入与输出
2022/9/17 6:16:27
本文主要是介绍liunx标准输入与输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、Linux提供了三种输入/输出通道给程序
在linux中,每个进程都会有三个文件,并且这三个文件会进行重定向处理:
1. 标准输入(STDIN) - 缺省为键盘
2. 标准输出(STDOUT) - 默认为终端窗口
3. 标准错误(STDERR) - 默认为终端窗口
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
2. 重定向标准输出到文件,不包含标准错误
cat test001.txt test002.txt > 1.out
3. 重定向标准错误到文件
cat test001.txt test002.txt 2> 1.out
4. 重定向准输出与标准错误输出至文件
cat test001.txt test002.txt &> 1.out
5. 重定向准输出与标准错误输出至两个不同的文件
cat test001.txt test002.txt > 1.out 2> 2.out
三、常见用法:
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 文件中
2. 同上的命令简化命令,日志保存至log日志内:
nohup java -jar wiremock-jre8-standalone-2.33.2.jar --port 7777 &>log &
3. 后台程序运行,并在日志输入至黑洞,即不保存日志:
nohup java -jar wiremock-jre8-standalone-2.33.2.jar --port 7777 >/dev/null 2>&1 &
4. 后台程序运行,分别将标准输出与标准错误写入不同的日志文件内。
这篇关于liunx标准输入与输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署
- 2024-04-14RAG应用开发实战02-相似性检索的关键 - Embedding
- 2024-04-14出海软件草根逆袭打法是什么?
- 2024-04-13鸿蒙原生应用再新丁!企查查 碧蓝航线 入局鸿蒙
- 2024-04-11RAG应用开发实战(01)-RAG应用框架和解析器
- 2024-04-10DevOps已死?2024年的DevOps将如何发展
- 2024-04-10码农必看:常见源代码混淆技术详解
- 2024-04-07以一当十丨TiDB 在东吴证券秀财 APP 的应用实践
- 2024-04-07月活超 1.1 亿,用户超 4 亿,你也在用的「知乎」是如何在超大规模 TiDB 集群上玩转多云多活的?来听听知乎代晓磊的答案!