开源文化的理念之一 就是不要重新发明轮子

在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因为几乎所有的命令都是以纯文本来返回的,而纯文本又是绝大多数命令的输入格式,这就让多命令有了协作的可能,linux为我们提供了管道和重定向机制,多命令协作就是通过管道和重定向来完成的。

shell 通过标准输入来输入信息  编号0,正常信息来通过标准输出输出,编号1,通过标准错误来输出错误信息,编号2。

重定向  重定向数据流

关键字 >  将标准输出重定向到文件,如果文件存在则覆盖 比如 ls > outfile

关键字>> 将标准输出重定向到文件 如果文件存在则追加  比如 ls >>outfile

<  重定向到标准输入

关键字  2>将标准错误重定向到文件  (覆盖)ls 2> err (err文件为空是没有反应的,因为没有错误)查找不存在的文件  ls -l  sfsdfd 2> err

关键字  2>>将标准错误重定向到文件  (追加)

管道 将一个命令的标准输出,来作为另一个命令的标准输入参数。来实现多命令的协作

比如 查找 详细信息包含P的 文件:

ls -l | grep P

如果 输出的命令还要作为下一个命令的标注输入,则一定要去掉上一个输出的标准错误信息 可以将上一个标准错误重定向的 /dev/null ,重定向到这个文件的 信息都会丢失掉

linux 学习管道 和重定向的更多相关文章

  1. Linux教程 - 管道和重定向

      管道和重定向! 保持数据流动 介绍   在前两节中,我们看了一些可以为我们操作数据的过滤器.在本节中,我们将看到我们如何将它们结合在一起来执行更强大的数据操作. 本节涉及一些阅读.即使这些机制及其 ...

  2. linux --stdin 管道 标准输入重定向

    linux --stdin 标准输入重定向 --stdin This option is used to indicate that passwd should read the new passwo ...

  3. Linux学习之输入输出重定向

    转自:http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html 多谢分享 在了解重定向之前,我们先来看看linux 的文件描述符. ...

  4. Linux学习笔记:重定向>和>>

    本文参考 https://www.cnblogs.com/piperck/p/6219330.html 重定向命令 > 和 >> 将命令的输出结果存储在指定文件中. 例如下面的例子就 ...

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

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

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

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

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

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

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

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

  9. Linux学习之管道符、重定向、通配符、转义符、环境变量

    Linux学习之管道符.重定向.通配符.转义符.环境变量 1. 输入输出重定向 输入重定向是指把文件导入命令中. 输出重定向是指把原本要输出到屏幕的数据信息写入指定文件中. a 标准输入重定向(STD ...

随机推荐

  1. Centos 文件查找命令

    find [搜索范围] [搜索条件] #搜索文件 find / -name install.log #避免大范围搜索,会非常耗费系统资源 #find是在系统当中搜索符合条件的文件名.如果需要匹配,使用 ...

  2. Android 应用获取Jenkins编译的版本号

    Android很多应用的版本号最后都带了编译的版本号.比如说V1.0.0.125,后边的125就通常使用每次编译之后build history的号码,它是逐次增加,这样就可以区分每个细分的编译版本号, ...

  3. Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建)

    Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建) 具体案例:局域网内有两台主机,一台Linux.一台Windows,现在需要配置一台Cacti监控服务器对这两台 ...

  4. cocostudio使用plist创建序列帧动画图片名称序列错乱的问题

    cocostudio 版本v2.2.9 用texturePacker将动画帧打包成一个plist和一张png,将plist拖入cocostudio中的资源栏中. 如图所示,plist里面的图片顺序是乱 ...

  5. java 等额本金与等额本息

    等额本金与等额本息 等本等息的意思是,每月的本金相等,利息也相等. 等额本息的意思是,每月的本金+利息之和相等(其实每个月本金和利息都有变化,并不相等) 等本等息的意思是,每月的本金相等,利息不等. ...

  6. leetcode hashmap

    187. Repeated DNA Sequences 求重复的DNA序列 public List<String> findRepeatedDnaSequences(String s) { ...

  7. leetcode830

    public class Solution { public IList<IList<int>> LargeGroupPositions(string S) { //" ...

  8. **Python的函数参数传递 和 global

    函数的参数到底是传递的一份复制的值,还是对内存的引用? 我们看下面一段代码: a = [] def fun(x): x.append(1) fun(a) print(a) 想想一下:如果传递的是一份复 ...

  9. Redis作为缓存服务器

    1.ICache的Redis实现没有放在'Framework.Cache/Logic'中.如果是以前,我会认为这样不好.我会这样做,'Framework.Cache'项目引用Redis项目或直接从Nu ...

  10. 并发编程和MySQL总结

    1️⃣  并发编程主要内容: 操作系统工作原理介绍.线程.进程演化史.特点.区别.互斥锁.信号.事件.join.GIL.进程间通信.管道.队列. 生产者消费者模型.异步模型.IO多路复用模型.sele ...