1. 首先了解linux命令执行顺序

    • 通常情况下,终端只能执行一条命令,然后按下回车,那么执行多条命令呢

      顺序执行多条命令,可以用分号;
      cmd1;cmd2;cmd3
      条件执行多条命令,使用&&(前一个命令执行成功,即$?=0时,执行下一条命令,否则不执行)和||(前一个命令执行失败,既$?≠0时,执行下一条命令)
      cmd1&&cmd2||cmd3
      $?:上一次命令的返回结果,0为执行成功,不为0则为执行失败
  2. 然后了解下管道命令(pipe)
    • 管道是一种通信机制,用于进程间的通信(也可通过socket进行网络通信),表现出来的形式将前面的每一个进程的输出,直接作为下一个进程的输入
    • 管道命令仅能处理stdout,而error则会忽略
  3. 常见管道命令
    • cut、grep、sort、wc、uniq
    • tee:重定向,既能在屏幕输出,又能保存到文件中
    • tr、col、join、paste、expand、split
  4. mkfifo则可以创建命名管道
    • 什么是命名管道

      |(竖线)为管道,是两个进程之间的通信通道
      例如:ls|grep txt
      ls和grep由|分开,管道创建了程序之间的通信通道,将ls的输出作为输入传给grep 由mkfifo创建出来的就是一个命名管道
      例如:mkfifo pipe2
      pipe2就是一个命名管道。
    • 命名管道的作用
      可以将输出信道化到不同终端、
      例如:
      在第一个终端执行
      ls > pipe2
      在第二个终端执行
      cat < pipe2(或cat pipe2,是取一次。cat < pipe2是持续输入,只要有内容传到pipe2中,就会有内容输出)
      pipe2更像是一个临时存储的地方,使用cat pipe2取过内容之后,再执行cat pipe2 ,则不会有显示
    • 识别命名管道

      命名管道可以像正常文件一样访问,在文档类型可以看到为p
      [root@ricky01 ~]# ll pipe2
      prw-r--r-- 1 root root 0 Oct 16 14:53 pipe2
    • 也可以使用chmod设置权限
    • 删除就像正常文件一样使用rm删除即可

参考:

https://www.jianshu.com/p/9c0c2b57cb73

https://www.howtoing.com/linux-mkfifo-command

linux mkfifo命令基本用法的更多相关文章

  1. Linux tar命令高级用法——备份数据

    Linux tar命令高级用法——备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ...

  2. [转帖]Linux date命令的用法(转)

    Linux date命令的用法(转) https://www.cnblogs.com/asxe/p/9317811.html 1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与 ...

  3. Linux find命令的用法实践

    一.find命令简介 Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大 ...

  4. Linux crontab命令 定时任务 用法详解以及no crontab for root解决办法

    最近系统服务器进行搬迁,又恰好需要使用定时任务运行程序,而我的程序主要使用PHP写的,然后总结了下定时任务的用法,但是在这里主要写的是关于crontab命令的用法,使用过程中遇到不少问题,例如no c ...

  5. Linux date命令的用法(转)

    1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与时间. 3.命令参数 -d<字符串>:显示字符串所指的日期与时间.字符串前后必须加上双引号: -s<字符串& ...

  6. linux useradd 命令基本用法

    在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观.以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作.本文主要描述笔者在学习使用 usera ...

  7. Linux date命令的用法

    在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数计算,很麻烦.其实date命令本身提供了日期的加减运算非常方便. 例如:得到昨天的时间date  --date=&qu ...

  8. 11.Linux date命令的用法

    date命令常的日常应用   修改时间 date -s “2008/05/23 19:20″ 打包文件 tar zcvf log-$(date +$F).gz /home/admin/logs 同步阿 ...

  9. 【转】Linux虚拟终端命令Screen用法详解

    转自 http://www.linuxidc.com/Linux/2013-07/87415.htm 在使用ssh或者telnet登录远程主机后,执行一些耗时的命令,如果此时ssh或者telnet中断 ...

随机推荐

  1. hystrix源码小贴士之中断

    execution.isolation.thread.interruptOnCancel可以设置当cancellation发生时是否需要中断.通过Future的cancel方法和线程的中断方法来实现是 ...

  2. java基础整理总结篇(1)

    >>java数据区域,大致分以下几种 寄存器:位于cpu内部,寄存器的数量有限,所以寄存器根据需求分配.不能直接控制它. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器 ...

  3. 《Head First 设计模式》:状态模式

    正文 一.定义 状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类. 要点: 状态模式允许一个对象基于内部状态而拥有不同的行为. 状态模式将状态封装成为独立的类,并将动作委托到代 ...

  4. PHP_Code_Challenge 1~30

    1. 1wMDEyY2U2YTY0M2NgMTEyZDQyMjAzNWczYjZgMWI4NTt3YWxmY= <?php error_reporting(0); require __DIR__ ...

  5. git如何上传文件夹

    git是不支持上传空文件夹的,文件夹里面必须有文件才可以 1.本地仓库上传文件夹到远程 在本地仓库新建一个文件夹,如果里面没有文件,那么$ git push origin master 不能将文件夹p ...

  6. SpringBoot2.3中@Async实现异步

    启动加上@EnableAsync ,需要执行异步方法上加入@Async. 在方法上加上@Async之后 底层使用多线程技术. 不使用异步 先关代码: package com.yiyang.myfirs ...

  7. 【Python】数据结构

    列表的更多特性 list.append(x) 在列表的末尾添加一个元素.相当于 a[len(a):] = [x] . list.extend(iterable) 使用可迭代对象中的所有元素来扩展列表. ...

  8. 在 Visual Studio 中创建一个简单的 C# 控制台应用程序

    转载:https://blog.csdn.net/qq_43994242/article/details/87260824 快速入门:使用 Visual Studio 创建第一个 C# 控制台应用 h ...

  9. LPCTSTR类型和字符串

    转载: 1.https://blog.csdn.net/Joker_mw/article/details/79127790 2.https://blog.csdn.net/shelleyhuhu/ar ...

  10. matlab中set设置图形属性

    来源:https://ww2.mathworks.cn/help/matlab/ref/set.html?searchHighlight=set&s_tid=doc_srchtitle set ...