包含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. AngularJS 之Services讲解

    Angular带来了很多类型的services.每个都会它自己不同的使用场景.我们将在本节来阐述. 首先我们必须记在心里的是所有的services都是singleton(单例)的,这也是我们所希望得到 ...

  2. 在Struts2中使用poi进行excel操作下载的时候报getOutputStream() has already been called for this response 错误 [转]

    在项目中用到了poi这个开源的操作excel文件的jar. 项目中用到struts2容器管理servlet.不是单纯的直接用servlet.         workbook.write(os);   ...

  3. Child Process

    Child Process child_process 这个模块可以生成一个子进程.nodejs提供了好几个API,本质上都是调用child_process.spawn(): const spawn ...

  4. Linux命令(持续更新ing)

    *.命令语法:  a.在进行参数设定时,通常为“-”号,若为完整参数名称,则输入“--”符号;  b.指令太长的时候,可以使用“\”符号使指令连续到下一行;  c.各种符号的意义:    ''     ...

  5. 【javascript 对日期的扩展 Format\addDays】

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(H).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  6. Android doGet方法

    DefaultHttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet("http://w ...

  7. nginx 日志格式

    log_format main '$http_host $server_addr $remote_addr [$time_local] "$request" ' '$request ...

  8. c++ 17介绍

    作者:hearts zh链接:https://www.zhihu.com/question/32222337/answer/55238928来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  9. 2014第6周五JS调试

    今天才发现chrome调试前端尤其是JS真是很方便,难怪之前公司几个前端高手都用chrome的开发者工具来调试.把今天知道的chrome调试方法收集整理一下,在今后的开发调试中都可能会用到: Prof ...

  10. stl入门--reverse函数

    #include<iostream> #include<algorithm>          using namespace std; int main() {     ch ...