管道命令的作用是将一个命令/程序/进程的输出发送到另一个命令/程序/进程,以便对输出结果进行进一步处理。我们可以组合多个命令,使用管道命令将一个命令的标准输入或标准输出重定向到另一个命令。两个或多个Linux命令之间的管道字符(|)表示在命令之间通过管道传输命令。管道命令的一般语法如下:Command-1|命令2|命令3|...|Command-NUUltimatePlumber(简称UP)是一个命令行工具,可用于即时预览管道命令结果。如果你在使用Linux的时候经常使用管道命令,可以通过它来更好的利用管道命令。可以提前显示流水线命令的执行结果,并以即时滚动的方式显示,让您轻松构建复杂的流水线。下面将介绍如何安装和使用UP来简化复杂流水线命令的编写。重要警告:在生产环境中谨慎使用UP!在使用过程中,可能会不小心删除重要数据,尤其是搭配rm或dd命令时,更需要小心。不要说这是不可预测的。使用UltimatePlumber即时预览管道命令。下面以一个简单的例子来介绍up的使用方法。如果需要将lshw命令的输出传递给up,只需在终端中输入以下命令并回车:$lshw|&up你会在屏幕顶部看到一个输入框,如下所示。在输入命令的过程中,输入管道符号并回车,可以立即执行输入的命令。UltimatePlumber立即在下方的可滚动窗口中显示管道命令的输出。在此状态下,您可以通过按PgUp/PgDn键或ctrl+←/ctrl+→组合键查看结果。当您对执行结果感到满意时,您可以使用ctrl+x组合键退出UP。退出前写入的管道命令将保存在当前工作目录下的一个文件中,文件名为up1.sh。如果这个文件名已经被占用,则命名为up2.sh、up3.sh等,直到第1000个文件。如果您不需要保存管道命令的输出,只需使用ctrl+c组合键退出即可。upX.sh文件的内容可以通过cat命令查看。例如,这里是我的up2.sh文件的输出:$catup2.sh#!/bin/bashgrepnetwork-A5|格雷普:|剪切-d:-f2-|paste--如果命令通过管道传递给up如果运行时间过长,终端窗口的左上角会出现波浪符(~),表示up正在等待上一个命令的输出作为输入.在这种情况下,您可能需要使用ctrl+s组合键暂时冻结输入缓冲区大小。当您需要解冻时,使用ctrl+q组合键。UltimatePlumber的输入缓冲区大小通常为40MB,当达到此限制时,屏幕左上角会显示一个加号。安装UltimatePlumber如果你喜欢这个工具,你可以在你的Linux系统上安装和使用它。安装过程也很简单,只需要在终端执行下面两条命令就可以安装起来了。首先从UltimatePlumber的发布页面下载最新的二进制文件并将它们放在系统的某个位置,例如/usr/local/bin/。$sudowget-O/usr/local/bin/upwgethttps://github.com/akavel/up/releases/download/v0.2.1/up然后给up二进制文件授予可执行权限:$sudochmoda+x/usr/local/bin/up至此,你已经完成了up的安装,你可以开始编写你的管道命令了。
