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标准输入、标准输出、错误输出的更多相关文章

  1. linux标准输入输出错误输出

    Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需 ...

  2. [转帖]Linux的标准输入 标准输出和错误输出

    Linux标准输入.输出和错误和文件重定向 专题 https://www.cnblogs.com/softidea/p/3965093.html 感觉自己对 这一块的理解一直不好 昨天同事给了一个 b ...

  3. Linux shell标准输入,标准输出,错误输出

    shell中可能经常能看到:1>/dev/null  2>&1  eg:sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{prin ...

  4. Linux标准输入、输出和错误和文件重定向(转) --- good

    标准输入.输出和错误 当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名.下面就是这些文 ...

  5. Linux 标准输入输出、错误输出、重定向标准输出

    再来看看 >& 操作符: 重定向操作符 描述 > 将命令输出写入到文件或设备(如打印机),而不是命令提示符窗口或句柄. < 从文件而不是从键盘或句柄读入命令输入. >& ...

  6. Linux标准输入、输出和错误和文件重定向 专题

    当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名. 下面就是这些文件描述符及它们通常所 ...

  7. python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出

    看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...

  8. Linux的标准输出、标准错误输出、nohup

    1.在bash中标准输出可以用1来表示:通常来说这个1可以省略: 如./xxx >/dev/null 和 ./xxx 1>/dev/null 是一个意思 2.在bash中标准错误输出可以用 ...

  9. linux将标准输出和标准错误输出都重定向到一个文件?

    需求描述: 今天在写crontab,里面有标准输出和错误输出,之前使用的是 > /dev/null 2>&1 那这个意思也就等同于将标准输出和错误输出都输出到/dev/null中, ...

随机推荐

  1. SQL DELETE语句如何让表使用别名的方法

    DELETE 别名 FROM 表名称 别名 WHERE 列名称 = 值

  2. 解决Android RadioGroup跑到输入法上面

    Android开发过程中,发现一个小问题,当我们点击屏幕下面的输入框时,我们的RadioGroup会跑到输入法的上面去,如下图 两种解决方法 1.Manifest.xml文件activity标签中添加 ...

  3. docker 启动mysql 挂载宿主机目录

    在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据, ...

  4. springcloud中使用dubbo开发rpc服务及调用

    spring cloud中基于springboot开发的微服务,是基于http的rest接口,也可以开发基于dubbo的rpc接口. 一,创建goodsService模块 1, 在创建的goodsSe ...

  5. Lambda表达式(一)

    Lambda表达式其实就是实现SAM接口的语法糖,作用就是简化代码的冗余,同时可读性也好过匿名内部类. 以下先一步步演示是如何把大段的代码变成一句代码的,加强理解! 第一种正常的写法 1 public ...

  6. 栈的C++实现

    数据结构c++实现系列第一篇. 话不多说,直接上代码. sichstack.h (头文件) 1 #pragma once 2 #include<string> 3 4 namespace ...

  7. win10 hyper-v的开启和关闭

    一.开启: 1. 控制面板->程序->启用或关闭Windows功能,Windows功能中勾选hyper-v功能 2. powershell中使用管理员权限运行下面的命令 bcdedit / ...

  8. linux 安装部署

    [smb] service smb restart vim /etc/selinux/config systemctl stop firewalld.service(centos7 64) seten ...

  9. Luogu P1856 [USACO5.5]矩形周长Picture

    线段树+扫描线 经典的扫描线问题 首先将一个矩形看作由竖着的两条边和横着的两条边构成 那分成两次考虑,一次考虑竖边,一次考虑横边 首先考虑横边 如图两个矩形,现将横边擦去,留下竖边,将平面划分成3个区 ...

  10. Java如何正确比较浮点数

    看下面这段代码,将 d1 和 d2 两个浮点数进行比较,输出的结果会是什么? double d1 = .1 * 3; double d2 = .3; System.out.println(d1 == ...