Linux中的数据重定向

重定向即指:将数据传送输出到别的地方,如设备、文件等等。那就涉及到将什么数据传送到什么地方的问题。

在linux中命令执行的起源和结果说起,看下图:

Standard input和Standard error都会输出到屏幕上,这样会将屏幕搞的非常混乱,且又是输出内容过多也不易于阅读。甚至有时候的输出内容非常重要需要保存,这是该怎么办??

答案是:数据重定向,将输出内容导入到别的地方。

linux中数据重定向的特殊符号:

  • 标准输入:代码为0,使用<或者<<
  • 标准输出:代码为1,使用1>或者1>>,也可以使用默认表示>或者>>
  • 标准错误输出:代码为2,使用2>或者2>>

>和>>的区别在于,输出内容重导向目的地的方式不一样:

>:以覆盖目的地原有数据的方式重导向

>>:以追加的方式重导向

ls /etc > list

如以上的将列出etc目录下的文件将其写入list文件。

  1. 如果list文件不存在则创建
  2. 清除list文件内容
  3. 将ls的标准输出写入list中

如果不清空list,则以追加的方式写入,使用>>

1.只需要正确的数据

使用/dev/null垃圾桶

#将find的结果中错误的输出丢弃,只显示正确的结果。避免错误数据的干扰
find /home -name .bashrc 2> /dev/null

2.既需要正确的输出又需求错误的输出数据

find /home -name .bashrc > list 2>&1
find /home -name .bashrc &> list

以上将标准输出和标准错误都写入list

3.标准输入<和<<的使用

既然使用<,肯定需要输入的来源。 < file的方式,可以将file的内容作为标准输入。

cat > back <~/.bashrc

以上同时利用 > 和 <(输入和输出重导向)备份.bashrc文件。

cat > list

以上命令将会将屏幕输入(标准输入)作为输出重导向文件list,然后使用ctrl+d退出。但是可以如下写法:

cat > list << "eof"

这样只要屏幕上输入"eof"即可退出。<<代表结束输入。

原文地址:https://www.cnblogs.com/lxyit/p/9418425.html

时间: 2024-10-12 22:02:16

Linux中的数据重定向的相关文章

Linux中I/O重定向

系统设定 默认输出设备:标准输出,STDOUT,1 默认输入设备:标准输入,STDIN,0 标准错误输出:STDERR,2 标准输入 :键盘 标准输出和错误输出:显示器 1.输出重定向 > : 覆盖输出 >> : 追加输出 如果为了防止操作失误可以使用 set -c  开启文件存在不可覆盖功能    set  +c   可以关闭 在开启set -c 时也可以使用 >| 强制覆盖 2.错误输出重定向 2>   覆盖 2>>  追加 3.即定向错误又定向正确 ls /

Linux中的输出重定向

标准输入输出: 键盘        /dev/stdin        0       标准输入 显示器    /dev/stdout      1       标准输出 显示器    /dev/stderr       2       错误输出 输出重定向 正确输出: 命令 > 文件 以覆盖的形式,把命令的正确输出写入指定文件中 命令 >> 文件 以追加的形式,把命令的正确输出写入指定文件中 错误输出: 命令 2> 文件 以覆盖的形式,把错误信息写入指定文件中 命令 2>&

Linux中的错误重定向你真的懂吗

在很多定时任务里.shell里我们往往能看到 "2>&1",却不知道这背后的原理. 举个例子: * 1 * * * test.sh > /dev/null 2>&1 这里的”2>&1“的意思是把标准错误重定向到标准输出. 0:代表标准输入 1:代表标准输出 2:代表标准错误 上面的例子"2>&1"已经知道是将标准错误重定向到标准输出,而test.sh的标准输出就是/dev/null,所以这条语句的结果(标

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

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

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

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

linux shell数据重定向

linux shell下常用输入输出操作符是: 1.  标准输入   (stdin) :代码为 0 ,使用 < 或 << : /dev/stdin -> /proc/self/fd/0   0代表:/dev/stdin 2.  标准输出   (stdout):代码为 1 ,使用 > 或 >> : /dev/stdout -> /proc/self/fd/1  1代表:/dev/stdout3.  标准错误输出(stderr):代码为 2 ,使用 2>

linux shell数据重定向(输入重定向与输出重定向)详细分析(转载)

本文为转载 原文链接 http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会

Linux中的管道与重定向

前言: 这篇博文主要参考了鸟哥的<鸟哥的Linux私房菜>和杨鹏(NetSnake)的<Linux服务器架设>这两本书,以及在网络上查阅的资料.此博文作为我阅读<鸟哥的Linux私房菜>和<Linux服务器架设>这本书的读书笔记.那么接下来就让我们依次了解它们. 概述: 熟悉操作系统的朋友,常常会听到.用到管道和重定向这两个词,那么究竟什么是管道,什么是重定向?他们对我有用吗?可以说,管道和重定向是操作系统的精髓之一,在操作系统的进程.程序和管理等各方面,都

关于linux中重定向 &gt; 1&gt; 2&gt;&amp;1 &gt;&gt;

linux 中很多时候会用到重定向来完成一些工作下面就来谈谈我对重定向的理解 欢迎吐槽             1,0<或者<    表示标准输入  代码为0 或者 称stdin         2 , 1>   表示标准输出     代码为1  或者 称stdout        3,   2>  表示错误输出  代码为2  或者 称 stderr 标准输出:        >或者1>  输出重定向到一个文件或者设备 覆盖原来的文件        >!  强制覆