包含3种数据流:

•标准输入(stdin):代码为0,符号为<或<<;
•标准输出(stdout):代码为1,符号为>或>>;
•标准错误输出(stderr):代码为2,符号为2>或2>>。
•>默认为覆盖文件内容,如果要追加则用>>

将数据从指定的流输入或输出,就称为数据重定向。

管道

•管道命令的界定符号为”|”
•管道命令仅会处理stdout,对stderr会忽略
•管道命令必须要能够接收来自前一个命令的数据作为stdin
 
使用管道命令
cut grep    sort、wc、uniq
 
cut命令的主要用途是将同一行的数据进行分解
cut参数:
      -d 后接分割字符,与-f一起使用;
       -f  依据-d的分割字符将一段信息分割成数段,用-f选出第几段。
echo $PATH | cut -d : -f 5

grep命令则是按条件取出某行,其基本语法为:

[root@www~]# grep [-acinv] [--color=auto] '查找字符串' filename

-a 将binary文件以text文件的方式查找数据
-c 计算找到‘查找的字符串’的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择
在last的输出信息中,只要有root就取出,并且只取第一行
[root@www~]# last | grep 'root' | cut -d ' ' -f 1

排序命令“: sort uniq wc

sort命令用于对输入内容进行排序  

[root@www~] # sort [-fbMnrtuk] [file or sdtin]

-f  忽略大小写的差异
-b 忽略最前面的空格符部分
-M 以月份的名字来排序
-r 反向排序
-t 分隔符
-k 以第几个区间来进行排序 利用last将输出的数据仅取账号列,并排序
last | cut -d ' ' -f 1 | sort

uniq命令用于去除结果中的重复行

uniq [-ic]
-i 忽略大小写的不同
-c 进行计数 使用last将账号列出,仅取出账号列,进行排序后仅取出一位
last | cut -d ' ' -f1 | sort |uniq -c

wc命令用于统计字、字符、行,

-l 行   -w 字 -m 字符

Linux06--Shell程序设计02 数据流重定向与管道的更多相关文章

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

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

  2. 谈谈Linux下的数据流重定向和管道命令

    一.标准输入.标准输出.错误输出概述 1.标准输入(stdin)是指令数据的输入,代码为0,使用<或者<<,默认是键盘. 2.标准输出(stdout)是指令执行成功返回的结果,代码为 ...

  3. linux——(8)数据流重定向、管道命令

    概念一:数据流重定向 数据流分输入流和输出流,还有一个标准错误流,负责管理出错信息,比如一般的命令的输出会输出到屏幕上,我们可以用重定向让他输入到某个文件内. 相关操作: 1,标准输入(stdin): ...

  4. 数据流重定向和管道命令, grep, tr,sort, wc, cut,split,tee,sleep(shell 02)

    主要内容 1.标准输入输出和错误 2.管道命令和 grep, tr,sort, wc, cut,split,tee,sleep 标准输入输出和错误 标准输入(stdin) 是指令数据的输入,代码为0, ...

  5. Shell入门02

    Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令   变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...

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

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

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

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

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

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

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

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

随机推荐

  1. section 模块页面切换代码

    <div class="blockcode"><blockquote><!DOCTYPE html><html><head&g ...

  2. mySql-数据库之存储过程学习总结

    之前在工作中总是听别人提到存储过程,觉得是个很高深的东西,利用工作之余,看了下相关的知识,现将学习知识总结如下,希望可以为刚学习的人提供些许帮助. 开发环境:Navicat For Mysql. My ...

  3. 简单C# 验证类

    using System; using System.Text.RegularExpressions; namespace bobomousecom.crm { /// <summary> ...

  4. java学习一目了然——异常必知

    java学习一目了然--异常必知 我们只要学java,异常肯定非常熟悉,该抛的时候抛一下就行.但是这其中还有点小细节需要注意.就用这个小短篇来说一下异常处理中的小细节吧. 异常处理 RuntimeEx ...

  5. Entity Framewor中的 Migration

    http://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx = Code bas ...

  6. 正式学习React(一) 开始学习之前必读

    为什么要加这个必读!因为webpack本身是基于node环境的, 里面会涉及很多路径问题,我们可能对paths怎么写!webpack又是怎么找到这些paths的很迷惑. 本文是我已经写完正式学习Rea ...

  7. nginx模块开发获取post参数

    > 您好!>     我想请问下nginx模块里面怎么获取post参数,能有具体的代码更好!谢谢> 对于 "application/x-www-form-urlencode ...

  8. 局域网内IP冲突怎么办

      对于在Internet和Intranet网络上,使用TCP/IP协议时每台主机必须具有独立的IP地址,有了IP地址的主机才能与网络上的其它主机进行通讯.但IP地址冲突会造成网络客户不能正常工作,只 ...

  9. hdu 4627 The Unsolvable Problem(暴力的搜索)

    Problem Description There are many unsolvable problem in the world.It could be about one or about ze ...

  10. 整理HTML的一些基础

    HTML,超文本标记语言(HyperText Markup Language) 超文本:指页面内可以包含图片.链接.音乐.程序等非文字元素 标记:页面的由各种标签(标记)组成,文本有隐藏的文本标签 H ...