Linux中的应用工具分为三种:
l 交互工具
l 过滤器
l 编辑器
过滤器:能够接受数据,过滤再输出的工具,成为过滤器
对过滤器和进程,存在着输入源与输出源头
输入,输出,重定向
输入:过滤器的输入来源
标准输入:stdin(0):默认是键盘
输出:过滤器的数据去向
标准输出:stiout(1):默认是终端屏幕
错误输出:报错信息与标准输出走不通的IO通道
错误输出:stderr(2):默认是终端屏幕
重定向:标准输入,输出与错误输出,都可以用特定符号改变来源或去向
[root@localhost home]# ls -l /dev/std*
lrwxrwxrwx 1 root root 15 Jul 12 04:18 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Jul 12 04:18 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Jul 12 04:18 /dev/stdout -> /proc/self/fd/1
输入重定向
使用“<”来重定向输入源
大多数工具都会以其后的文件名为输入源
有一些过滤器一定需要添加“<”以明确输入源
Command < file
从当前文档输入
使用<<让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入
需要对字母,符号或字符串作为起始终结标识符
可以选择任意符号作为起始终结标识符
[root@localhost test]# cat > test.file <<!
> this is the test file
> !
[root@localhost test]# cat test.file
this is the test file
[root@localhost test]#
输出重定向
使用>改变数据输出目标
范例:
[root@localhost /]# ls -l > /home/test/test.file
[root@localhost /]# cat /home/test/test.file
total 138
drwxr-xr-x 2 root root 4096 Jun 8 03:21 bin
drwxr-xr-x 4 root root 1024 Jun 7 22:19 boot
drwxr-xr-x 12 root root 3880 Jul 12 04:19 dev
drwxr-xr-x 97 root root 12288 Jul 12 04:19 etc
drwxr-xr-x 4 root root 4096 Jul 12 04:52 home
drwxr-xr-x 14 root root 4096 Jun 8 03:21 lib
drwx------ 2 root root 16384 Jun 7 22:14 lost+found
drwxr-xr-x 2 root root 4096 Jul 12 04:19 media
drwxr-xr-x 2 root root 0 Jul 12 04:19 misc
drwxr-xr-x 2 root root 4096 Mar 30 2007 mnt
drwxr-xr-x 2 root root 0 Jul 12 04:19 net
drwxr-xr-x 2 root root 4096 Mar 30 2007 opt
dr-xr-xr-x 90 root root 0 Jul 12 04:18 proc
drwxr-x--- 17 root root 4096 Jun 9 06:02 root
drwxr-xr-x 2 root root 12288 Jun 8 03:21 sbin
drwxr-xr-x 4 root root 0 Jul 12 04:18 selinux
drwxr-xr-x 2 root root 4096 Mar 30 2007 srv
drwxr-xr-x 11 root root 0 Jul 12 04:18 sys
drwxrwxrwt 7 root root 4096 Jul 12 04:53 tmp
drwxr-xr-x 14 root root 4096 Jun 7 22:16 usr
drwxr-xr-x 21 root root 4096 Jun 7 22:23 var
test.file文件已有内容会被消除
覆盖与追加
使用>进行输出重定向,文件的原内容会被覆盖
ls –l >listfile
使用>>,可以将输入追加入文件
ls –l > listfile
错误输出重定向
系统错误与标准输出使用的IO管道不同
默认情况下,系统报错会显示到终端屏幕上
使用2> 将报错讯息重定向到一个文件
[root@localhost test]# ls-l 2> test.file
[root@localhost test]# cat test.file
-bash: ls-l: command not found
使用2>>将报错讯息追加到一个文件
[root@localhost test]# cat test.file
-bash: ls-l: command not found
-bash: ls-l: command not found
双重输出重定向
使用>和2> 可以将一次操作的正确,错误输出,被单独地送到不同的地方:
[root@bogon ~]# find /etc -name passwd 2> stderr >stdout
正确输出到stdout中,错误输出到stderr中
使用&>将所有输入都送向同一个地方:
管道
使用 | 将前一个过滤器的输出直接送入后一个过滤器的输入
[root@bogon ~]# ls -l /etc | more
允许多重管道
[root@bogon ~]# ls -l /etc | more | grep fstab
-rw-r--r-- 1 root root 534 Jun 7 22:14 fstab
注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配
重定向,管道的常用范例
l ls -l |more
分屏显示当前目录下的文件
l Cat <fileA >fileB
拷贝fileA到fileB
l Cat file.* >file cat fileA fileB > fileAB
将数个小文件,合并成一个文件
分享到:
相关推荐
4. **灵活性**:新的过滤器可以插入到现有管道中,增加新功能而不影响原有结构。 在“软件设计与体系结构”这个主题中,管道-过滤器模式通常作为构建大型、复杂系统的基石。它不仅应用于命令行工具,还广泛存在于...
在Linux世界中,掌握输入输出重定向和管道命令是提高命令行操作效率的关键。vim编辑器虽然不直接涉及这些操作,但在使用vim之外的shell环境中,它们是非常实用的工具。 输入输出重定向允许我们将命令的输入和输出从...
本文将深入探讨“命令解释器”这一主题,以及它在Linux中的应用,特别是涉及的“管道”和“重定向”功能。 命令解释器,也被称为shell,是操作系统与用户交互的一个关键组件。在Linux系统中,它接收用户的命令输入...
Linux文件权限管理、管道以及“三剑客”是Linux系统操作中的核心概念,它们对于有效管理和操作文件系统至关重要。下面将分别对这三个方面进行详细解释。 1. **Linux文件权限** - **权限说明**:在Linux中,每个...
Logstash主要由三个组件组成:输入(Inputs)、过滤器(Filters)和输出(Outputs)。输入插件允许Logstash从多种来源收集数据,如文件、网络套接字、数据库等。在这个7.10.2版本中,可能包含了对新数据源或现有数据...
本书首先会介绍Linux Shell的基础知识,包括什么是Shell、常见的Shell类型(如Bash、Sh、Csh等)、如何启动和退出Shell,以及Shell的基本命令,如文件和目录管理、输入/输出重定向、管道和过滤器等。这些基础知识是...
管道是Linux命令行中的一种强大的工具,它允许我们将一个命令的输出作为另一个命令的输入。在我们的自定义Shell中,实现管道意味着用户可以串联多个命令,使得前一个命令的输出直接传递给下一个命令处理。例如,`ls ...
可能还涉及到了文件描述符和重定向输入输出。 **第11章 Shell重定向.pptx** 深入讲解了重定向,包括如何将命令的输出重定向到文件,或者从文件读取命令的输入,还有如何追加而不是覆盖文件内容(`>>`符号)。 **第...
此外,还讲解了重定向标准输入、输出和错误的方法,以及如何利用cat命令连接文件、使用管道线和过滤器等高级操作技巧。 在Linux系统中,Shell提供了一组强大的文本处理工具,书中介绍了文件的字符展开、路径名展开...
xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 默认的命令是 echo,这意味着...
书中详细说明了如何使用管道线(|)和过滤器来处理命令输出。 shell的扩展功能,如字符展开、路径名展开、算术表达式展开等,能够进一步提高命令行的灵活性和效率。书中通过实例解释了各种展开的用法和效果。 熟练...
过滤器的概念与Unix/Linux系统中的管道概念相似,它将一个表达式的输出当作下一个过滤器的输入。Vue.js中过滤器分为全局过滤器和本地过滤器。全局过滤器的作用域是整个Vue应用,而本地过滤器的作用域是定义它的Vue...
Logstash 7.15.1版本引入了许多改进,包括性能优化、新的过滤器和输出插件、以及错误修复。在日常运维中,了解这些更新对于充分利用Logstash的功能至关重要。在处理大量日志数据时,理解Logstash的工作原理、配置...
在Vue中,过滤器的使用灵感来源于Linux shell命令的管道(pipe)概念。管道允许我们将一个命令的输出作为另一个命令的输入。同样,Vue的过滤器可以串联使用,例如`{{数据 | 过滤器A | 过滤器B}}`,这里的`数据`经过`...
以上是关于Linux下Shell的基础知识点,包括Shell的基本概念、转义字符与通配符、输入输出重定向、变量管理、环境定制以及基本的条件控制结构。掌握这些知识点对于理解和使用Linux Shell至关重要,能够帮助用户更高效...
5. **管道与过滤器**:`|`管道符号用于连接命令,将一个命令的输出作为另一个命令的输入,如`ls -l | grep .txt`。 **二、Shell脚本编程** 1. **脚本结构**:Shell脚本以`#!/bin/bash`声明解释器,然后包含一系列...
- **管道和过滤器**:介绍管道(`|`)的概念,它允许将一个命令的输出作为另一个命令的输入,从而实现数据流的传递。同时介绍了一些常见的过滤器命令,如`grep`、`awk`、`sed`等。 #### 八、从shell眼中看世界 - **...
1. **UNIX管道**:rtail 利用了UNIX系统中的管道机制,通过管道可以将一个命令的输出作为另一个命令的输入。在rtail 的应用场景中,你可以将日志查看命令(如 tail)的输出通过管道传递给 rtail,rtail 将这些数据...