欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux关于重定向的知识讲解

程序员文章站 2024-01-26 19:23:34
1.输出重定向的两种方式: > 覆盖原文件内容 >> 追加写,不覆盖原文件内容 2.两种重定向 错误命令重定向 2> 或 2>> (错误命令重定向中...

1.输出重定向的两种方式:

> 覆盖原文件内容

>> 追加写,不覆盖原文件内容

2.两种重定向

错误命令重定向 2> 或 2>> (错误命令重定向中 >或和>> 左右两边不能有空格)

正确命令重定向 > 或 >>

常用:

错误密令 + 正确命令 保存到同一个文件:

方法一: 命令 >> 文件 2>&1 (覆盖写时少个>)

方法二: 命令 &>> 文件 (覆盖写时少个>)

eg: ls /home/heyu >> access.log 2>&1

ls &> /home/heyu

错误命令 和 正确命令 保存到不同文件:

命令 >> 保存正确结果文件 2>> 保存错误结果文件

eg: cd fjladjflaj >> access.log 2>>error.log

Linux Shell 环境中的输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误。

1.重定向标准输出到文件:cat foo > foo.txt2.重定向标准错误到文件cat foo 2> foo.txt3.重定向标准输出到标准错误cat foo 1>&24.重定向标准错误到标准输出cat foo 2>&15.重定向标准输出,标准错误到同一个文件cat foo > foo.txt 2>&1或cat foo&> foo.txt这里第个顺序很重要,先把标准输出重定向到文件,再把标准错误输出到标准输出,因为标准输出已经重定向到文件,所以标准错误与重定向到文件。

ls 2>1 会输出一个空的文件1;

ls xxx 2>1 没有xxx这个文件的错误输出到文件1中;

ls xxx 2>&1 不会生成1这个文件了,不过错误跑到标准输出了;

ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。