`
jojo_java
  • 浏览: 96529 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Linux中的过滤器,输入,输出,管道

    博客分类:
  • OS
阅读更多

Linux中的应用工具分为三种:

l  交互工具

l  过滤器

l  编辑器

过滤器:能够接受数据,过滤再输出的工具,成为过滤器

对过滤器和进程,存在着输入源与输出源头

 

输入,输出,重定向

输入:过滤器的输入来源

         标准输入:stdin0):默认是键盘

输出:过滤器的数据去向

         标准输出:stiout1):默认是终端屏幕

错误输出:报错信息与标准输出走不通的IO通道

         错误输出:stderr2):默认是终端屏幕

重定向:标准输入,输出与错误输出,都可以用特定符号改变来源或去向

 

[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

拷贝fileAfileB

l  Cat file.* >file    cat fileA fileB > fileAB

将数个小文件,合并成一个文件

 

分享到:
评论

相关推荐

    【作业6.2-1】-管道-过滤器.zip

    4. **灵活性**:新的过滤器可以插入到现有管道中,增加新功能而不影响原有结构。 在“软件设计与体系结构”这个主题中,管道-过滤器模式通常作为构建大型、复杂系统的基石。它不仅应用于命令行工具,还广泛存在于...

    vim编辑器中掌握输入输出重定向与管道命令的应用

    在Linux世界中,掌握输入输出重定向和管道命令是提高命令行操作效率的关键。vim编辑器虽然不直接涉及这些操作,但在使用vim之外的shell环境中,它们是非常实用的工具。 输入输出重定向允许我们将命令的输入和输出从...

    命令解释器(linux)

    本文将深入探讨“命令解释器”这一主题,以及它在Linux中的应用,特别是涉及的“管道”和“重定向”功能。 命令解释器,也被称为shell,是操作系统与用户交互的一个关键组件。在Linux系统中,它接收用户的命令输入...

    linux文件权限管理、管道、三剑客 ppt

    Linux文件权限管理、管道以及“三剑客”是Linux系统操作中的核心概念,它们对于有效管理和操作文件系统至关重要。下面将分别对这三个方面进行详细解释。 1. **Linux文件权限** - **权限说明**:在Linux中,每个...

    最新版linux logstash-7.10.2-linux-x86_64.tar.gz

    Logstash主要由三个组件组成:输入(Inputs)、过滤器(Filters)和输出(Outputs)。输入插件允许Logstash从多种来源收集数据,如文件、网络套接字、数据库等。在这个7.10.2版本中,可能包含了对新数据源或现有数据...

    linux shell中文第二版

    本书首先会介绍Linux Shell的基础知识,包括什么是Shell、常见的Shell类型(如Bash、Sh、Csh等)、如何启动和退出Shell,以及Shell的基本命令,如文件和目录管理、输入/输出重定向、管道和过滤器等。这些基础知识是...

    编的一个linux Shell ,能实现管道,重定向,以及一些基本的Shell 编程功能.zip

    管道是Linux命令行中的一种强大的工具,它允许我们将一个命令的输出作为另一个命令的输入。在我们的自定义Shell中,实现管道意味着用户可以串联多个命令,使得前一个命令的输出直接传递给下一个命令处理。例如,`ls ...

    Linux Shell命令行及脚本编程实例详解PPT

    可能还涉及到了文件描述符和重定向输入输出。 **第11章 Shell重定向.pptx** 深入讲解了重定向,包括如何将命令的输出重定向到文件,或者从文件读取命令的输入,还有如何追加而不是覆盖文件内容(`&gt;&gt;`符号)。 **第...

    linux命令行大全.pdf

    此外,还讲解了重定向标准输入、输出和错误的方法,以及如何利用cat命令连接文件、使用管道线和过滤器等高级操作技巧。 在Linux系统中,Shell提供了一组强大的文本处理工具,书中介绍了文件的字符展开、路径名展开...

    Linux xargs 命令用法详解

    xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 默认的命令是 echo,这意味着...

    Linux命令行大全.pdf

    书中详细说明了如何使用管道线(|)和过滤器来处理命令输出。 shell的扩展功能,如字符展开、路径名展开、算术表达式展开等,能够进一步提高命令行的灵活性和效率。书中通过实例解释了各种展开的用法和效果。 熟练...

    Vue.js -- 过滤器使用总结

    过滤器的概念与Unix/Linux系统中的管道概念相似,它将一个表达式的输出当作下一个过滤器的输入。Vue.js中过滤器分为全局过滤器和本地过滤器。全局过滤器的作用域是整个Vue应用,而本地过滤器的作用域是定义它的Vue...

    最新版linux logstash-7.15.1-linux-x86_64.tar.gz

    Logstash 7.15.1版本引入了许多改进,包括性能优化、新的过滤器和输出插件、以及错误修复。在日常运维中,了解这些更新对于充分利用Logstash的功能至关重要。在处理大量日志数据时,理解Logstash的工作原理、配置...

    vue通过过滤器实现数据格式化

    在Vue中,过滤器的使用灵感来源于Linux shell命令的管道(pipe)概念。管道允许我们将一个命令的输出作为另一个命令的输入。同样,Vue的过滤器可以串联使用,例如`{{数据 | 过滤器A | 过滤器B}}`,这里的`数据`经过`...

    linux下的shell与make

    以上是关于Linux下Shell的基础知识点,包括Shell的基本概念、转义字符与通配符、输入输出重定向、变量管理、环境定制以及基本的条件控制结构。掌握这些知识点对于理解和使用Linux Shell至关重要,能够帮助用户更高效...

    LinuxShell.pdf

    5. **管道与过滤器**:`|`管道符号用于连接命令,将一个命令的输出作为另一个命令的输入,如`ls -l | grep .txt`。 **二、Shell脚本编程** 1. **脚本结构**:Shell脚本以`#!/bin/bash`声明解释器,然后包含一系列...

    TLCL Linux命令行大全

    - **管道和过滤器**:介绍管道(`|`)的概念,它允许将一个命令的输出作为另一个命令的输入,从而实现数据流的传递。同时介绍了一些常见的过滤器命令,如`grep`、`awk`、`sed`等。 #### 八、从shell眼中看世界 - **...

    rtail-在几秒钟内将终端输出到浏览器使用UNIX管道

    1. **UNIX管道**:rtail 利用了UNIX系统中的管道机制,通过管道可以将一个命令的输出作为另一个命令的输入。在rtail 的应用场景中,你可以将日志查看命令(如 tail)的输出通过管道传递给 rtail,rtail 将这些数据...

Global site tag (gtag.js) - Google Analytics