一:I/O设备

I/OInput/Output),即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。

标准输入(STDIN):0 默认接受来自键盘的输入

标准输出(STDOUT):1 默认输出到终端

标准错误(STDERR):2 默认输出到终端

二:I/O重定向

I/O重定向即改变标准输入、输出和错误的默认位置

标准输出和错误可以被重定向文件

  • > 把STDOUT重定向到文件
  • 2> 把STDERR重定向到文件
  • &> 把所有输出重定向到文件  ==   COMMAND > /path/to/file.out 2>&1  ==  (COMMAND 2>&1) > /path/to/file.out
  • >> 将标准输出追加到文件
  • 2>> 将标准错误追加到文件
  • &>> 将标准输出和标准错误都追加到文件
  • () 合并多个程序的标准输出
  • < 重定向标准输入
  • <<EOF heretext就地文本

set -C 禁止将内容覆盖已有文件,但可以追加,但是使用>|FILE可以强制覆盖

set +C 取消禁止覆盖

三:管道

pipe :CMD1 | CMD2 CMD1的标准输出作为CMD2的标准输入

exp:
ls /error /data/ >& | tr 'a-z' 'A-Z'
ls /error /data/ |& tr 'a-z' 'A-Z'
echo {..} | tr ' ' '+' | bc 计算1到100的和
seq -s + | bc
tar -cvf - /etc | tar -xvf -
echo 'xt.,l 1 jr#*!mn 2 c*/fe 3 uz 4' | tr -dc '[:digit:][:space:]'
touch `openssl rand -base64 | tr -dc '[:alnum:]' | tr '[:upper:]' '[:lower:]'`.log

tee 用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上,-a 追加模式

I/O重定向和管道的更多相关文章

  1. Linux Shell 重定向与管道【转帖】

    by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...

  2. Linux06--Shell程序设计02 数据流重定向与管道

    包含3种数据流: •标准输入(stdin):代码为0,符号为<或<<; •标准输出(stdout):代码为1,符号为>或>>; •标准错误输出(stderr):代码 ...

  3. 【Linux】【专项突破】Linux重定向与管道

    [专项突破]Linux重定向与管道 This article is written by Xrilang(Chinese Name:萌狼蓝天) If you want find me ,You can ...

  4. 【Linux】重定向与管道

    重定向 redirection 每个命令有输入源和输出目的地,默认行为,是标准输入和标准输出.大多数情况,标准输入是键盘,标准输出是屏幕.可以为单独的操作修改输入和输出,这就是重定向.重定向可以使某个 ...

  5. Linux中重定向及管道

    1重定向1.1      重定向符号 >               输出重定向到一个文件或设备 覆盖原来的文件 >!              输出重定向到一个文件或设备 强制覆盖原来的 ...

  6. linux - 输入输出重定向 及 管道

    > 正确结果重定向 2> 错误结果重定向 &> 正确和错误全部重定向 >> 追加,其它同> 标准输出实际上就是显示器,比如我们使用cat命令打开一个文件,文 ...

  7. Linux - 重定向与管道

    标准输出重定向 ">" 操作符:覆盖目标文件内容 huey@huey-K42JE:~/huey/linux/cmdline$ date > foo huey@huey- ...

  8. I/O重定向与管道

    1.输出重定向 (1)>  覆盖输出 (2)>>  追加输出 (3) set -C: 禁止对已经存在文件使用覆盖重定向: 强制覆盖输出,则使用 >| set +C: 关闭上述功 ...

  9. LINUX常用命令--重定向、管道篇(四)

    一.Linux重定向 重定向能够实现Linux命令的输入输出与文件之间重定向,以及实现将多个命令组合起来实现更加强大的命令.这部分涉及到的比较多的命令主要有: 涉及到的比较多的命令主要有: cat:连 ...

  10. Linux第六节随笔 输入输出重定向 、管道、通配符、wc / grep / tr / sort / cut / which /whereis /locate /find /

    三期第五讲 -高级文件管理1.输入输出重定向 ls -l /dev/stdin -> /proc/self/fd/0 标准输入 设备:键盘 标记:0 ls -l /dev/stdout -> ...

随机推荐

  1. javaScript-进阶篇(一)

    1.变量 1.必须以字母.下划线或美元符号开头,后面可以跟字母.下划线.美元符号和数字. 2.变量名区分大小写,如:A与a是两个不同变量. 3.不允许使用JavaScript关键字和保留字做变量名. ...

  2. 把自定义的decoder加入ffmpeg源码

    第一步: 在libavcodec目录下新建mkdecoder.c,并加入一下代码: /* *实现一个自己的decoder,编码工作其实就是把pkt的数据拷贝到frame *作者:缪国凯(MK) *82 ...

  3. noip不知道哪年 货车运输

    题意:最大生成树上找 q组两个点的lca 然后求出u->lca->v这条路径上的最小边 倍增大法好 # include <iostream> # include <std ...

  4. 将tomcat7解压版注册为windows系统服务

    一.修改service.bat文件(...tomcat7\bin\service.bat) 该文件中共修改两处即可 ①:在文件的开头加入以下设置,分别是java的安装路径.Tomcat的安装路径及服务 ...

  5. 【整理】如何选取后缀数组&&后缀自动机

    后缀家族已知成员         后缀树         后缀数组         后缀自动机         后缀仙人掌         后缀预言         后缀Splay ? 后缀树是后缀数 ...

  6. LOJ2722 「NOI2018」情报中心

    「NOI2018」情报中心 题目描述 C 国和D 国近年来战火纷飞. 最近,C 国成功地渗透进入了D 国的一个城市.这个城市可以抽象成一张有$n$ 个节点,节点之间由$n - 1$ 条双向的边连接的无 ...

  7. bzoj 4765: 普通计算姬 主席树+替罪羊树思想

    题目大意: 给定一棵\(n\)个节点的带权树有根树,设\(sum_p\)表示以点\(p\)为根的这棵子树中所有节点的权 计算姬支持下列两种操作: 给定两个整数\(u,v\),修改点\(u\)的权值为\ ...

  8. Android App在Google App Store中搜不到

    情景:Android App在Google App Store上架成功,三星手机可以在Google App Store中搜索到,但是三星tablet却无法在Google App Store中搜索到,目 ...

  9. 有关HL7 的C# 源码

    https://github.com/OSEHRA/mdo              C# http://sourceforge.net/p/nhapi/code/HEAD/tree/NHapi20/ ...

  10. live555源代码分析

    live555源代码下载(VC6工程):http://download.csdn.net/detail/leixiaohua1020/6374387 liveMedia 项目(http://www.l ...