Linux中的重定向

重定向符号(漏斗)

> 标准输出重定向(先把文件的内容清空,然后再放内容)

[[email protected] ~]# cat /data/test.txt
a b c d f
[[email protected] ~]# echo g h i j k >/data/test.txt
[[email protected] ~]# cat /data/test.txt
g h i j k

> > 追加重定向(把内容放在文件的最后一行)

[[email protected] ~]# cat /data/test.txt
a b c d f
[[email protected] ~]# echo g h i j k >>/data/test.txt
[[email protected] ~]# cat /data/test.txt
a b c d f
g h i j k

1 标准输出 命令执行正确的内容才会经过漏斗

1> 命令将执行正确的内容存放文件中

1>> 命令将执行正确的内容追加到文件中

2 错误输出

2> 命令将执行错误的内容存放文件中

2>> 命令将执行错误的内容存放文件中

那么问题来了,什么是错误的命令呢,举个例子,命令拼写错误就是典型的命令错误,下面试一试2>>效果

[[email protected] ~]# ech linux 2>>/data/test.txt
[[email protected] ~]# cat /data/test.txt
a b c d f
g h i j k
-bash: ech: command not found

一般来说,2>与2>>用的比较少,常常用到的是将正确的与错误的一起存放在文件中,这时候就需要用到2>&1,将它加在命令最后,它的作用是将错误的信息放入到对的信息中,这样正确的与错误的信息都可以存放到文件中。

[[email protected] ~]# echo g h i j k >/data/test.txt 2>&1

< 输入重定向

支持它的命令很少,其中之一是xargs,xargs的作用主要有两个,一是读取输入数据重新格式化之后输出(-n多列输出,-d自定义定界符),二是和管道符配合使用,管道符之前的结果作为参数传递给之后的命令。

[[email protected] ~]# cat /data/test.txt
a b c d e
f g h i j
[[email protected] ~]# xargs -n6 </data/test.txt
a b c d e f
g h i j
[[email protected] ~]# xargs -n2 </data/test.txt
a b
c d
e f
g h
i j

<< 追加输入重定向

当我们不需要用vi/vim编辑器进入文件修改,但想要输入多行数据时应该怎么办,这时候就需要用到<<,它的基本使用是这样的cat >>/data/test.txt<<EOF,其中EOF(end of file)为结束标志,当然也可以换成任意你指定的。

[[email protected] ~]# cat >>/data/test.txt <<EOF
> k l m n o
> p q r s t
> EOF
[[email protected] ~]# cat /data/test.txt
a b c d e
f g h i j
k l m n o
p q r s t
标准输入重定向 <
xargs -n2 <test.txt
把文件作为命令的输入
追加输入重定向 <<
cat >test.txt<<EOF
标准输出重定向 > 重定向到文件,如果有内容则清空
追加输出重定向 >> 追加到文件最后一行
标准错误输出重定向 2> 标准错误重定向到文件,如果有内容则清空
追加错误输出重定向 2>> 标准错误追加到文件最后一行
正确的与错误的重定向 2>&1 标准错误与标准输出同时定向到文件

原文地址:https://www.cnblogs.com/ExBurner/p/9743817.html

时间: 2024-10-30 10:52:37

Linux中的重定向的相关文章

linux中的重定向和管道的使用方法

一个程序运行就必须要有指令和数据或者说数据结构和算法.程序处理的数据来源和处理后存放在哪,是程序员必须要考虑额问题.每个程序都有读入数据和输出数据的需求,但是为了便捷,程序允许缺省输入和输出,也就是使用默认的输入输出.一般称之为标准输入和标准输出. 对于用户来说,访问文件是通过文件名来进行的,但对于内核来说则是一个非零整数,这个数字叫做文件描述符(file descriptor,fd),打开已存在的文件或新建一个文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来指定带读写的文件.

Linux中IO重定向和管道

IO重定向和管道 根据冯诺依曼原理的知识,计算机运行有数据流的输入和输出,称之为IO. Linux中一切皆文件思想,表现为具体的文件. 在linux中打开的文件都有一个fd(File Descriptor):文件描述符 程序:指令+数据 读入数据:Input 输出数据:Output Linux给程序提供三种I/O设备: 1. 标准输入(STDIN): -0 默认为接受键盘输入2. 标准输出(STDOUT):-1 默认为输出到终端窗口3. 标准错误(STDERR):-2 默认为输出到终端窗口注:标

Linux中输入输出重定向的问题

Linux 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器. 输出重定向:命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向.   命令输出重定向的语法为: $ command > file 这样,输出到显示器的内容就可以被重定向到文件. 例如下面的命令在显示器上不会看到任何输出: $ who > users 打开 users 文件,可以看到下面的内容: 输出重

请教一下linux中程序重定向输出到文...[模式及实现]

8uomqa畔阑窖然晒膊http://blog.sina.com.cn/s/blog_17bda77d70102xh6x.html3b9pvp闻干佬创筛干http://blog.sina.com.cn/s/blog_17bda89080102x695.html6q0aqe幕肛追怯募疗http://blog.sina.com.cn/s/blog_17b89e5a70102x9xy.htmlbhzv3r厣鹊断鹊缴冒http://blog.sina.com.cn/s/blog_17b8d75c0010

black0591[wangyaninglm推荐] 请教一下linux中程序重定向输出到文...[模式及实现]

j酌蚁1粟严t共怨5盐妊http://blog.sina.com.cn/s/blog_17bb1f4ce0102x6dl.html3税鄙1置芽n衷诰h渴胁http://blog.sina.com.cn/s/blog_17b63bd540102xm9c.html2扔偾e优泵w糜咨s咨玫http://blog.sina.com.cn/s/blog_17bb9982c0102x837.htmli装狄4姨钩s忱偻o绞孪http://blog.sina.com.cn/s/blog_17b646388010

Linux中重定向、管道和grep命令总结

今天我们来讲下Linux中的重定向.管道和grep命令.由于重定向和管道知识点比较少,但是又比较重要所以和grep命令一起讲. 在将重定向我们先讲下系统的标准输入和输出.在Linux中标准输入(STDIN 0)对应设备:键盘:标准输出(STDOUT 1)和标准错误输出(STDERR 2)对应设备:显示器.重定向就是将标准输入输出重新定位到指定位置或者设备中(比如:文件). I/O重定向 set –C 禁止对已存在的文件进行覆盖重定向 强制覆盖>| set +C 关闭上述功能 输出重定向: >:

Linux中的数据重定向

重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard error都会输出到屏幕上,这样会将屏幕搞的非常混乱,且又是输出内容过多也不易于阅读.甚至有时候的输出内容非常重要需要保存,这是该怎么办?? 答案是:数据重定向,将输出内容导入到别的地方. linux中数据重定向的特殊符号: 标准输入:代码为0,使用<或者<< 标准输出:代码为1,使用1>

&lt;实训|第十一天&gt;学习一下linux中的进程,文件查找,文件压缩与IO重定向

[[email protected]~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就讲解一下关于运维工程师例行事务的知识!  开班第十一天: [[email protected]~]#今天的课程大纲 查看进程,中断进程,切换进程 内存与swap分区 linux中文件查找的基本方法 linux中是如何解压缩文件的 关于I/O重定向的知识点 远程scp配合管道 详细讲解: [[e

linux中的输入从定向和输出重定向

linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到linux的输入和输出的重定向了. 常用文件重定向命令: command >file: 标准输出重定向到一个文件,错误仍然输出屏幕 command >>file: 标准输出重定向到一个文件(追加) command 1>file1: 标准输出重定向到一个文件 command 2>>