Linux标准输入、标准输出、错误输出
Linux中的输入文件、输出文件、错误输出
| 文件名称 | 文件描述符 |
|---|---|
| 标准输入 | 0 (默认是键盘) |
| 标准输出 | 1 (默认是屏幕) |
| 标准错误 | 2 (默认是屏幕) |
输出重定向
Linux中&表示后台运行,>表示输出重定向
| 命令 | 描述 |
|---|---|
| command > file | 标准输出重定向到文件中,文件不存在时会自动创建再写入,文件存在时会先删除文件中的内容再写入 |
| command >> file | 标准输出重定向到文件中,文件不存在时会自动创建再写入命令产生的标准输出,文件存在时不改变原文件内容写入再写入命令产生的标准输出 |
| command > file 2>&1 | 标准输出和错误输出重定向到文件中,若文件不存在则会新建文件再写入,若文件存在会先删除文件中的原本内容再写入(2>&1表示标准错误以后台模式重新向到标准输出中) |
| command >> file 2>&1 | 标准输出和错误输出重定向到文件中,若文件不存在,则会新建文件再写入;若文件存在,则会在不改变文件原本内容的情况下再写入文件 |
| command 2 > file | 标准错误重定向到文件中,若文件不存在则会新建文件再写入,若文件存在会先删除文件中的原本内容再写入 |
| command 2 >> file | 标准错误重定向到文件中,若文件不存在,则会新建文件再写入;若文件存在,则会在不改变文件原本内容的情况下再写入文件 |
输入重定向
<表示输入重定向
| 命令 | 描述 |
|---|---|
| command < file1 > file2 | command命令以file1为标准输入,以file2为标准输出 |
| command < file | command命令以file为标准输入 |
| command << del | command以键盘为标准输入,直到遇到del结束 |
/dev/null
/dev/null在Linux中充当黑洞的作用,任何写入到/dev/null中的内容都会被自动删除
# 将命令产生的错误重定向到/dev/null,即命令执行不会在屏幕上显示任何错误信息
command 2 > /dev/null
# 将命产生的日志重定向到文件中,将命令产生的错误信息写入到/dev/null,以此达到日志写入文件,错误直接忽略,屏幕不会显示任何信息
command > file 2>&1
nohup command > file 2>&1 &
nohup
nohup表示不挂断地执行命令
通常我们在执行Linux命令时会使用&使命令在后台运行而不影响terminal的正常使用,而&存在一个问题:关闭terminal会导致使用&的命令中断,这时就需要nohup command &,最直接简单的命令就是:
nohup command > file &
命令执行,正常日志会自定写入到file中,但如果有错误信息,则错误信息会直接打印到屏幕上
nohup command > file 2>&1 &
命令执行,生成的正常日志和错误信息会记录在file中
jobs
查看使用nohup命令提交的job
fg %n
关闭某个job
Linux标准输入、标准输出、错误输出的更多相关文章
- linux标准输入输出错误输出
Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需 ...
- [转帖]Linux的标准输入 标准输出和错误输出
Linux标准输入.输出和错误和文件重定向 专题 https://www.cnblogs.com/softidea/p/3965093.html 感觉自己对 这一块的理解一直不好 昨天同事给了一个 b ...
- Linux shell标准输入,标准输出,错误输出
shell中可能经常能看到:1>/dev/null 2>&1 eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{prin ...
- Linux标准输入、输出和错误和文件重定向(转) --- good
标准输入.输出和错误 当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名.下面就是这些文 ...
- Linux 标准输入输出、错误输出、重定向标准输出
再来看看 >& 操作符: 重定向操作符 描述 > 将命令输出写入到文件或设备(如打印机),而不是命令提示符窗口或句柄. < 从文件而不是从键盘或句柄读入命令输入. >& ...
- Linux标准输入、输出和错误和文件重定向 专题
当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名. 下面就是这些文件描述符及它们通常所 ...
- python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出
看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...
- Linux的标准输出、标准错误输出、nohup
1.在bash中标准输出可以用1来表示:通常来说这个1可以省略: 如./xxx >/dev/null 和 ./xxx 1>/dev/null 是一个意思 2.在bash中标准错误输出可以用 ...
- linux将标准输出和标准错误输出都重定向到一个文件?
需求描述: 今天在写crontab,里面有标准输出和错误输出,之前使用的是 > /dev/null 2>&1 那这个意思也就等同于将标准输出和错误输出都输出到/dev/null中, ...
随机推荐
- C# URL编码
#region URL编码 /// <summary> /// URL编码 /// </summary> /// <param name="str"& ...
- Linux运维学习第一周记
1 当年白岳伴清游, 2 江石台空一苇浮. 3 缥渺临风闻郢曲, 4 殷勤歧路看吴钩. 老气横秋方知世间沧桑! 以前一直忙,没有时间沉浸下来学习,一直都是浮着. 至此大疫,给生命按下了暂停键. 踏踏实 ...
- 使用ModelForm校验数据唯一性
在设计模型类的时候,将指定字段设置unique=true属性,可以保证该字段在数据库中的唯一性. 使用ModelForm可以将指定模型类快速生成表单元素.在提交数据后,使用is_valid()校验时, ...
- http与https随笔
http: 超文本传输协议.使用TCP/IP协议 https: 安全超文本传输协议.使用TLS/SSL协议 不同: 1.安全 http是明文传输.http是具有安全性的SSL加密传输协议. https ...
- 这篇文章揭开python进程、线程、协程神秘的面纱
1.概念 [关注公众号"轻松学编程"了解更多. 回复"协程"获取本文源代码.] 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务. 一个CPU,在 ...
- python数学math和random模块
math模块 关注公众号"轻松学编程"了解更多. 在使用math模块时要先导入 # 导入模块 import math 1.math.ceil(num) 对num进行向上取整 num ...
- svg究竟是什么?
svg究竟是什么? 1 要点 要点1:svg与jpg/png等格式的用途完全不同,不可相提并论,没有可比性,不可互相替代. 要点2:日常生活中,我们用相机拍摄自然景象得到的照片和视频,能且只能用jpg ...
- [POJ 2821]TN's Kindom III(任意长度循环卷积的Bluestein算法)
[POJ 2821]TN's Kindom III(任意长度循环卷积的Bluestein算法) 题面 给出两个长度为\(n\)的序列\(B,C\),已知\(A\)和\(B\)的循环卷积为\(C\),求 ...
- Go读取论文并转换为simhahs
package main import ( "fmt" _"flag" _ "os" _ "io/ioutil" _&q ...
- 【QT】QtConcurrent::run()+QThreadPool实现多线程
往期链接: <QThread源码浅析> <子类化QThread实现多线程> <子类化QObject+moveToThread实现多线程> <继承QRunnab ...