Linux管道命令总纲
什么是管道命令,但就名称来看应该分为‘管道’和‘命令’。
管道
先来看管道,我是这样理解管道的。管道就是在两个命令之间建立连接,也就是前一个的命令的标准输出结果是后一个命令的标准输入。这个过程就是通过管道来实现的。
管道使用的是‘|’这个符号。这里需要注意的是,管道处理的是前一个命令的标准输出(standard output)。对于前一个命令的标准错误输出(standard error output)会忽略。也就是说对于前一个命令执行正确的输出信息会作为后一个命令的输入,如果前一个命令执行错误,其打印的错误信息并不会作为后一个命令的输入。这就是管道的作用,看下面的例子:
# ls –a /etc | grep ^s
这个例子的作用就是查看/etc下面的文件名以s开头的文件。前面查找/etc下的文件的结果通过管道作为grep 命令的标准输入。
命令
说完管道,下面我们来看命令。这里说的命令主要是针对管道(|)后面接的命令。在上面我们说过管道的作用是将前一个命令的标准输出作为后一个命令的标准输入(stdin),因此要求后一个命令是要能从标准输入设备读取数据的。所以说并不是linux系统支持的所有的命令都可以作为管道命令来使用。
像linux应用——查找文件进行拷贝【案例】这篇文章中介绍的案例我们就不能在管道后面直接使用cp命令。如下的命令是错误的:
# find /a –name login* | cp –t /b //错误
因为cp不是管道命令,它不能接受来自标准输入(stdin)的数据。
能接受来自标准输入的数据的命令有下面这些:
双向重导向:tee
字符转换命令:tr、col、join、paste、expand
分割命令: split
参数代换: xargs
上面这些命令是管道命令,可以接受来自标准输入的数据。对于这些命令在本篇不展开介绍。我会在后续的文章中分别介绍这些命令的用法。
总结
下面对管道命令进行一下总结:
1、管道命令仅会处理 standard output,对于 standard error output 会予以忽略
2、管道命令必须要能够接受来自前一个命令的数据成为 standard input 继续处理才行。
关于管道命令的概念就介绍到这。希望本文对大家有所帮助。
相关文章
解决 Linux Bash 中的 Nodemon 命令未找到错误
发布时间:2024/03/14 浏览次数:223 分类:操作系统
-
本文介绍如何解决 Linux Bash 中的 nodemon command not found 错误。
解决 Linux Bash 中的 Make Command Not Found 错误
发布时间:2024/03/14 浏览次数:246 分类:操作系统
-
本文介绍如何解决 Linux Bash 中的 make command not found 错误。
解决 Linux Bash 中 syntax error near unexpected token newline 错误
发布时间:2024/03/14 浏览次数:408 分类:操作系统
-
本文介绍如何解决 Linux Bash 中 syntax error near unexpected token newline 错误。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:571 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
等效于 Linux ls 的 PowerShell 命令
发布时间:2024/02/07 浏览次数:206 分类:编程语言
-
本教程将为 Linux ls 命令介绍不同的 PowerShell 等效命令。