输出重定向

$ ls -l > lsoutput

  这条命令将ls命令执行后的结果输入出到lsoutput文件中。

  在linux shell中使用符号 > ,< 来完成输入输出的重定向,同时对应的有三种标准的文件描述符,0(标准输入),1(标准输出),2(标准错误),可以

  单独的重写向其中的任何一种。你还可以重定向其他的文件描述符,但对标准文件描述符以外进行重定向的情况很少见。

  默认情况下>符号在 文件已经存在时它会覆盖,需要使用set -o noclobber(或set -C)命令设置noclobber选项,阻止重定向操作对一个已有文件

  的覆盖,使用set +o noclobber取消该选项。

  使用>>操作符将输出内容附加到一个文件。例如:   

$ ls -l >> lsoutput

  除了标准的输入与输出在重定向时可以不加文件描述符,你需要把你想要重定向的文件描述符加在>操作符的前面。

  如标准错误的输出流文件描述符是2,所以使用2>操作符.

$ ls -l 2> erroutput

  如果你想把两组输出都重定向到一个文件中,你可以用>&操作符来结合两个输出。例:

$ ls -l  > lsoutput 2>&1

  我个人对上面命令的理解:

      首先设置ls的标准输出流为lsoutput文件,然后使用a>&b符号使a文件描述符与b文件描述符都输出到同一个位置,前提是你要先指定a文件描述符      的位置才有效。

输入重定向

cat < lsoutpu

管道

    linux管道操作符 | , 在linux下通过管道连接的进程可以同时运行,并且随着数据流在它们之间的传递可以自动的进行协调,你可以使用

 sort命令对ps命令的输出进行排序。

    如果不使用管道,你就必须分几个步骤来完成这个任务。

$ ps > psout    //输出到文件
$ sort psout >> pssort //排序

     更好的解决方案是用管道来连接进程,如:   

$ ps | sort > pssort

    允许连接的进程数目是没有限制的。注意,有系列的命令需要执行时,相应的输出文件是在这一组命令被创建的同时立刻被创建或写入的,所以

   决不要在命令流中重复使用相同的文件名。

shell管道与重定向的更多相关文章

  1. shell管道和重定向

    看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令 ...

  2. RHEL7管道与重定向

    文件描述符 可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟 ...

  3. Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向

    1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...

  4. Linux入门基础 #9:管道及重定向

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  5. linux文件管理之管道与重定向

    ============================================================== 内容提要: 输入输出重定向.管道: 重定向的作用: 文件描述符 0 1 2 ...

  6. Linux入门-7 Linux管道、重定向以及文本处理

    Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...

  7. linux 学习管道 和重定向

    开源文化的理念之一 就是不要重新发明轮子 在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因 ...

  8. linux 管道与重定向

    命令行shell数据流有如下定义: 通过管道和重定向可以控制CLI的数据流

  9. Linux 入门记录:十六、Linux 多命令协作:管道及重定向

    一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...

随机推荐

  1. HDU 5984 题解 数学推导 期望

    Let’s talking about something of eating a pocky. Here is a Decorer Pocky, with colorful decorative s ...

  2. Oralce 触发器

    今天做了一个需要用到触发器实现的功能中间去到了各种问题,还好最后都解决了: 整个过程中真是遇到了不少错误: ORA-04091: 表 KPGO.T_ISSUER 发生了变化, 触发器/函数不能读它 O ...

  3. TK图形界面

    import tkinter 1.使用tkinter模块前 一般先要建立一个tkinter的对象     例: window = tkinter.TK()   2.建立完对象设置好窗口属性以及所有功能 ...

  4. Atcoder E - Meaningful Mean(线段树+思维)

    题目链接:http://arc075.contest.atcoder.jp/tasks/arc075_c 题意:问数组a有多少子区间平均值为k 题解:一开始考虑过dp,但是显然不可行,其实将每一个数都 ...

  5. 「每日五分钟,玩转JVM」:对象内存布局

    概览 一个对象根据不同情况可以被划分成两种情况,当对象是一个非数组对象的时候,对象头,实例数据,对齐填充在内存中三分天下,而数组对象中在对象头中多了一个用于描述数组对象长度的部分 对象头 对象头分为两 ...

  6. mariadb数据库galera下添加新的服务器节点

    昨天经过各种努力,终于完成了两台服务器集成的搭建,今天再新开一台服务器,在想如何加入呢?网上度娘了很久结果没搜到相关文章:哎,索性直接照着前两台服务配置,在第三台(新服务器)上配置完成后重启maria ...

  7. maven仓库的配置

    今天接触到了maven的配置问题,特此来记录一下,也给我这样的小白一个参考. 目标:eclipse中配置指定的maven仓库. 说明: 使用过maven项目的话,会在你的C:\Users\lenovo ...

  8. Windows服务器远程桌面不能复制粘贴的解决方法

    今天使用windows 2008服务器,实然就不能从本地复制内容和粘贴内容了,从网上找了下原因,最终解决了.一般本地和服务器不能复制粘贴分两种情况: 情况一:复制粘贴功能原本可以用,突然失灵了. 解决 ...

  9. Vue 利用指令实现禁止反复发送请求

    前端做后台管控系统,在某些接口请求时间过长的场景下,需要防止用户反复发起请求. 假设某场景下用户点击查询按钮后,后端响应需要长时间才能返回数据.那么要规避用户返回点击查询按钮无外乎是让用户无法在合理时 ...

  10. 解决python -m pip install --upgrade pip 升级不成功问题

    1.使用命令出现. You are , however version is available. You should consider upgrading via the 'python -m p ...