大多数linux命令处理数据后都会输出到标准输出,但是如果数据要经过系列列的步骤处理后,才是需要的数据个数,这种需求就需要管道来帮助完成。

管道命令使用"|"作为界定符,将界定符前的命令的执行结果作为界定符后的命令的输入继续处理。这里的执行方式和“连续执行命令”是不一样的。管道命令不仅强调界定符前后命令的依赖关系,而且还有一个非常重要的限制:

界定符前命令产生的执行结果必须输出到标准输出,界定符后的命令必须能够接收标准输入作为处理数据

下面通过几个例子熟悉下管道命令:

  1. /etc目录下的文件非常多,通常直接ls查看,屏幕无法全部显示,这是可以使用管道命令:
ls -al /etc | less

ls命令会将目录下的文件详细信息输出到标准输出,less能够接受标准输入作为处理数据。这样就重复利用了less命令前后查看的能力,甚至检索能力,帮组我们有效的查看需要的文件。

  1. 查看最近的有多少用户登录常使用last命令,但是last会输出非常多信息,如果要筛选只查看用户:
last | cut -d ' ' -f 1

last将最近的登录信息都输出到标准输出,cut接受标准输入作为入参,进行处理,最后再输出到标准输出进行显示。

使用管道命令的核心要点

  • 管道命令前的命令仅能处理标准输出,对于标准错误输出无处理能力;
  • 管道命令后的命令必须要能接受来自前一个命令的数据成为标准输入继续处理;

必须ls、cp等命令就不能接受来自stdin的数据。tail、head、less、more等就可以接受标准输入。

Linux中常用命令pipe的更多相关文章

  1. Linux中常用命令

    .cd命令 cd    回到跟目录 cd uqihong     进入到uqihong这个文件夹(且cd命令只能一级一级的进入) 2.复制命令      cp -r /usr/local/tomcat ...

  2. Linux中常用命令(文件与目录)

    1.pwd 查看当前目录(Print Working Directory) 2.cd 切换工作目录(Change Directory) (1)格式:cd [目录位置] 特殊目录: .当前目录 ..上一 ...

  3. Linux中常用命令的使用(一)

    这次只讲常用命令 先说命令的组成:命令一般由 (选项.命令.参数) 组成 下面就从开启一个Ubuntu开始说起 1.用户登录:在putty环境下,输完用户名在输入密码 别人想知道你用的linux系统 ...

  4. Linux 中常用命令

    命令基本格式: 命令提示符:[root@localhost ~]#      root 代表当前的登录用户(linux当中管理员账号是root)      @ 无实际意义      localhost ...

  5. Linux中常用命令 <一>

    本笔记中记录的命令来源于 <Linux C 编程实战> ------------------------------------------------------------------ ...

  6. linux中常用命令总结

    一关机/重启/注销 关机 shutdown -h now //立即关机 重启 shutdown -r now //立即重启 reboot 重新启动 注销 logout //退出注销当前用户窗口 exi ...

  7. Linux中常用命令(文件)

    1.cat 显示出文件的全部内容 (1)格式:cat 文件名 -n 显示行号 (2)特点:一次性显示所有文件内容 2.tac 从最后一行倒着显示文件全部内容 3.more 全屏方式分页显示文件内容 回 ...

  8. Linux中常用命令cat

    cat可谓是随处可用,全名:concatenate and print files.用于连接和打印文件,按序读取文件内容,然后输出到标准输出.如果文件是单个破折号-或者缺乏文件,cat将读取标准输入. ...

  9. linux中常用命令alias

    1.查看系统中所有的命令别名 alias 2.查看指定的别名 alias 别名 2.设定别名 alias 别名='原命令' 3.删除别名 unalias 别名 4.使别名永久生效 vi ~/.bash ...

随机推荐

  1. rpm安装包制作

    RPM是RPM Package Manager(RPM软件包管理器) 1. 安装制作工具 # yum install rpm-build 2. 目录结构 /root/rpmbuild/SOURCES ...

  2. kubernetes部署spring cloud注册中心 Eureka

    系统环境 java JDK 1.8 Docker 18.09.6 kubernetes 1.16 创建Eureka Server 1.Maven引入相应的jar 引入 SpringBoot 做基础框架 ...

  3. Mycat高可用解决方案一(mysql安装)

    Mycat高可用解决方案一(mysql安装) Mycat关键特性 关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 ...

  4. 05. redis事务

    目录 Redis 事务 事务 1. 命令有序 2. 始终原子 开启使用事务 Redis事务中出现错误 1. EXEC前的错误 2. EXEC后的错误 为什么出错了不支持roll backs? Redi ...

  5. POJ 3155Hard Life(最大密度子图)

    论文出处:最小割模型在信息学竞赛终的应用 #include <iostream> #include <cstdio> #include <cstring> #inc ...

  6. 09-C#笔记-循环

    1. while 同 C++ 2. for 同 C++ 3. foreach,注意数组的定义 int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 ...

  7. python--线程知识详解

    Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1.1.threading模块 threading模块建立在_thread模块之上.thread模块以低级=原始的方式来处理 ...

  8. 使用plv8+hashids生成短链接服务

    有写过一个集成npm plv8 以及shortid生成短链接id服务,实际上我们可以集成触发器自动生成url对应的短链接地址,hashids也是一个不错的选择. 以下是一个别人写的一个博客实现可以参考 ...

  9. 用原生js实现,点击一个列表时,输出对应的索引

    var ul = document.querySelector("ul"); ul.addEventListener("mousedown", mouseHan ...

  10. sparksql基础知识二

    目标 掌握sparksql操作jdbc数据源 掌握sparksql保存数据操作 掌握sparksql整合hive 要点 1. jdbc数据源 spark sql可以通过 JDBC 从关系型数据库中读取 ...