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中, ...
随机推荐
- shell变量替换 SHELL字符串处理技巧(${}、##、%%)
在SHELL编程中,经常要处理一些字符串变量.比如,计算长度啊.截取子串啊.字符替换啊等等,常常要用到awk.expr.sed.tr等命令.下面给大家介绍个简单的字符串处理方法,用不着嵌套复杂的子 ...
- CentOS8 yum安装Mariadb10.4
CentOS8 yum安装Mariadb10.4 https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distr ...
- Linux中创建自己的欢迎登陆界面
/etc 在Linux中相当于Windows的注册表 修改其中文件可以影响整个Linux系统 MOTD motd:message of the day /etc/motd /etc/motd文件作用是 ...
- Java进阶--Java动态代理
JDK version: 1.8 动态代理中所说的"动态", 是针对使用Java代码实际编写了代理类的"静态"代理而言的, 它的优势不在于省去了编写代理类那一点 ...
- 3. Distributional Reinforcement Learning with Quantile Regression
C51算法理论上用Wasserstein度量衡量两个累积分布函数间的距离证明了价值分布的可行性,但在实际算法中用KL散度对离散支持的概率进行拟合,不能作用于累积分布函数,不能保证Bellman更新收敛 ...
- 虚拟机之kali2.0
kali2.0下载地址: 链接: https://pan.baidu.com/s/1CiQJNfvUPFw3aJR103XSbg 提取码: 57wp
- spark load data from mysql
spark load data from mysql code first 本机通过spark-shell.cmd启动一个spark进程 SparkSession spark = SparkSessi ...
- DOM0级事件误区-addEventListener
百度上很多篇文章讲解addEventListener DOM0级事件的时候讲解的都是覆盖 概念如下: 同一个元素的同一种事件只能绑定一个函数,否则后面的函数会覆盖之前的函数 其实不然,官方讲解:添加的 ...
- 在VirtualBox中调整Raspbian分辨率
参考自一路阳光随行发表的virtualBox设置虚拟机分辨率大小中ubuntu虚拟机分辨率的设置方法. 启动Raspbian虚拟机,点击 窗口主菜单里的设备->安装增强功能.系统后会自动挂载增强 ...
- git 出现 error: bad signature fatal: index file corrupt
一次大改版,提交了很多代码,但再次提交提交不了,也拉不下来仓库的代码 提示error bad signature fatal: index file corrupt 在项目有.git这同级打开Git ...