数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方

标准

1、标准输入(stdin):代码为0,使用<或<<

2、标准输出(stdout):代码为1.,使用>或>>

3、标准错误输出(stderr):代码为2,使用2>或2>>

Standard output 与 standard error output

简单地说,标准输出值的是命令执行所回传的正确的信息,而标准错误输出可以理解为命令执行失败后,所回传的错误信息

范例:

正确与错误数据写入两个不同的文件中

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list_right 2> list_error

正确与错误数据写入同一个文件中

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list 2>&1

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc &> list

/dev/null垃圾桶黑洞设备与特殊写法

如果我们知道错误信息会发生,所以要将错误信息忽略掉而不显示或存储呢?这个时候黑洞设备/dev/null就很重要了,这个/dev/null可以吃掉任何导向这个设备的信息

范例:

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc 2> /dev/null

Standard input:<与<<

以最简单的说法来说,就是将原本需要有键盘输入的数据改有文件内容来替代,下面我们由cat命令操作来了解一下什么叫做键盘输入吧

范例:利用cat命令来创建一个文件的简单流程

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile

testing

cat file test

<==这里按下【ctrl】+d来离开

下面用纯文本文件代替键盘输入

范例:

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile < ~/.bashrc

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# ll catfile ~/.bashrc

-rwxrwxrwx 1 root root 3106 Jun 24 16:05 catfile*

-rw-r--r-- 1 root root 3106 Feb 20  2014 /root/.bashrc

理解<之后,我们来看看<<这个符号,它代表的是结束输入的意思,举例来说,我们要用cat直接将输入的信息输出到catfile中。且当由键盘输入eof时,该次输入就结束

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile << "eof"

> this is a test

> ok now stop

> eof

<==输入eof这个关键字,立刻就结束而不需要输入【ctrl】+d

root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat catfile

this is a test

ok now stop

<==只有这两行,不会存在关键字那一行

我们总结一下哪些情况需要使用命令输出重定向:

1、屏幕输出的信息很重要,而且我们需要将它存下来的时候

2、后台执行中的程序,不希望她干扰屏幕正常的输出结果时

3、一些系统的例行命令的可能已知错误信息时,想以“2>/dev/null”将它丢掉时

4、错误信息与正确信息需要分别输出时

Shell--数据流重定向的更多相关文章

  1. shell 数据流重定向操作符总结

    最近看了鸟哥私房菜关于shell数据流重定向的内容,总结一下. 操作符: 1.标准输入(stdin):代码为0,符号:< 或者<< 2.标准输出(stdout):代码为1,符号:&g ...

  2. linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法

    一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...

  3. 十句话教你学会Linux数据流重定向

    1.看到重定向一下子就想起了web里面的redirect,没错,但是Linux数据流重定向的作用不是跳到另一个网页,而是用来存储重要的屏幕信息.将不必要的屏幕信息输出到文件里或者“黑洞”里.将错误信息 ...

  4. (大数据工程师学习路径)第一步 Linux 基础入门----数据流重定向

    介绍 开始对重定向这个概念感到些许陌生,但通过前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是重定向,将原本输出到标准输出的数 ...

  5. 初窥Linux 之 数据流重定向

    一.什么是数据流重定向 在说数据流重定向之前,先来说说数据流的概念吧.数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr). 简单来说,标准输出指的是命令执行 ...

  6. 【linux】linux的数据流重定向

    首先说一下什么是数据流重定向,所谓数据流重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(code block)的输出,然后把捕捉到的输出,作为输入发送给另外 ...

  7. 学习bash——数据流重定向

    一.概述 1. 数据流 定义:以规定顺序被读取一次的数据序列. 分类:标准输入(stdin).标准输出(stdout)和标准错误输出(stderr). 标准输出:指的是命令执行所回传的正确信息. 标准 ...

  8. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

  9. Linux 数据流重定向

    1.三种数据流重定向1)标准输入(stdin):代码为0,使用0<或0<<,其中代码0可以省略2)标准输出(stdout):代码为1,使用1>或1>>,其中代码1可 ...

  10. Linux数据流重定向与管道

    数据流重定向简单来说就是把原本应该输出到某处(比如说屏幕)的数据,重定向其输出目的地,到其他的地方(比如文件). linux中的输入与输出: 标准输入(stdin):默认从键盘输入 标准输出(stdo ...

随机推荐

  1. Iframe跨域嵌入页面自动调整高度的办法

    http://www.a.com/A.html http://www.a.com/B.html http://www.a.com/D.js http://www.c.com/C.html A.html ...

  2. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

  3. 使用pandas进行数据清洗

    本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的空值/缺失值 isnull() ...

  4. 四维偏序(K-D-Tree+rebuild)

    其实只是放个代码,会K-D-Tree的同学看了就知道怎么rebuild了,其实也是很简单粗暴的…… 单独再发一次吧,感觉把代码跟之前的一起发不知道啥时候就找不到了…… #include<bits ...

  5. jQuery点击自身以外地方关闭弹出层

    转载自:http://blog.163.com/abkiss@126/blog/static/325941002012111754349590/ 主要功能是点击显示,然后通过点击页面的任意位置都能关闭 ...

  6. 2.flume架构以及核心组件

    flume组件主要包含三部分 source:从各个地方收集数据 channel:聚集,相当于临时数据存放的地方.因为数据来的时候,不可能来一条便写一次,那样效率太低,而是先把数据放在通道里,等通道满了 ...

  7. <context-param>与<init-param>的区别与作用(转自青春乐园)(

    <context-param>的作用:web.xml的配置中<context-param>配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件we ...

  8. C#在 64位系统下出现 “未能加载文件或程序集”错误

    64位系统下,Build的时候,如果选择Any CPU,默认会按照64位进行编译,便无法加载某些旧的dll,这些dll可能是特定到X86 CPU的. 所以,把编译选项中改为 X86CPU,就可以运行了 ...

  9. codeforces 869A The Artful Expedient【暴力枚举/亦或性质】

    A. time limit per test 1 second memory limit per test 256 megabytes input standard input output stan ...

  10. 简单DP【p1934】封印

    Description 很久以前,魔界大旱,水井全部干涸,温度也越来越高.为了拯救居民,夜叉族国王龙溟希望能打破神魔之井,进入人界"窃取"水灵珠,以修复大地水脉.可是六界之间皆有封 ...