bash功能特性五 重定向和管道

一、管道

使用“|”符号来实现管道功能;管道可以实现在一行中处理使用管道符号连接的多个命令,后面的命令使用前面命令的输出结果做为处理对象。

二、数据流重定向

数据输入和输出的类型:

标准输入(stdin):代码为0,默认设备为键盘;

标准输出(stdout):代码为1,默认设备为显示器;

标准错误输出(stderr):代码为2,默认设备为显示器。

重定向就是将数据不使用默认的设备进行输入或输出。

1、输出重定向

标准输出重定向:

COMMAND > POSITION:覆盖输出

COMMAND >> POSITION:追加输出

标准错误重定向:

COMMAND 2> POSITION:覆盖输出

COMMAND 2>> POSITION:追加输出

标准错误的追加重定向与标准输出的追加重定向相类似,此处不再进行演示。

合并重定向:

COMMAND &> POSITION

COMMAND > POSITION 2> &1

分别重定向:

COMMAND > POSITION 2> POSITION2

 2、输入重定向

COMMAND < FILE:以FILE中的内容来替代键盘输入;

COMMAND << STRING:以STRING为输入结束符;

3、重定向的应用

输入重定向经常用于不能处理参数的命令,例如tr命令。

tr命令格式:tr [OPTION]… SET1 [SET2]

作用:用于删除文字或进行文字的替换。

OPTIONS:

-d:删除指定的字符;

-s:替换掉重复的字符;

    4、多道输出

使用tee命令来实现多道输出,即将命令的结果在屏幕上显示的同时,也在指定的文件中保存;使用-a选项可以在文件中追加重定向的内容。

 5、数据黑洞

所有流向数据黑洞的数据都将被丢弃,使用/dev/null这个设备来实现此功能。

 6、重定向的控制

set -C  关闭输出重定向的覆盖功能

set +C 打开输出重写向的覆盖功能

>|:在关闭了输出重定向的覆盖功能时,依然执行覆盖操作

时间: 2024-08-25 11:19:25

bash功能特性五 重定向和管道的相关文章

Linux目录结构、bash的基础特性、I/O重定向及管道

Linux目录结构 LSB(Linux StandardsBase)是一套核心标准,它保证了LINUX发行版同LINUX应用程序之间的良好结合规定了一系列标准,其中包括文件系统层级结构标准(FHS Filesystem Hierarchy Standard) Linux系统根目录下有众多子目录,这些目录都参照了FHS协定 / ├── bin ├── boot ├── dev ├── etc ├── home ├── lib ├── lib64 ├── lost+found ├── media ├

bash的基本特性之文件名通配 及IO重定向,管道详解

本篇博文依然涉及到bash的基本特性 文件名通配,并讲解IO重定向以及管道的使用 管道配合tr命令的应用 bash的基础特性之一:文件名通配 globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 pa*,*pa*,*pa,*p*a* ?:匹配任意单个字符 pa?,??pa,p?a,p?a? []:匹配指定范围内的任意单个字符 有几种特殊字符: [a-z],[A-Z],[0-9],[a-z0-9] [[:upper:]]:所有大写字母 [[:low

第五章 linux重定向和管道

重定向和管道 标准输入和输出: 程序:指令+数据 读入数据:Input 输出数据:Output 打开的文件都有一个fd: file descriptor (文件描述符) Linux给程序提供三种I/O设备 标准输入(STDIN)-0默认接受来自键盘的输入 标准输出(STDOUT)-1默认输出到终端窗口 标准错误(STDERR)-2默认输出到终端窗口 I/O重定向:改变默认位置 [[email protected] /app]#ls >/dev/pts/7 本终端窗口不进行输出,将结果输出到别的终

DAY5:linux文件系统(3)+重定向和管道+用户组赫尔权限管理(1)

7月29号,马哥linux学习第五天,学习内容主要: 一.索引节点 二.硬链接与软链接 三.重定向和管道 四.用户和用户组 一.索引节点(index node) 一个节点 (索引节点)是在一个表项,包含有关文件的信息 ( 元数据 ),包括: 文件类型,权限,UID,GID 链接数(指向这个文件名路径名称个数) 该文件的大小和不同的时间戳 指向磁盘上文件的数据块指针 有关文件的其他数据 一个目录是目录下的文件名和文件inode号之间的映射 CP命令和inode: 分配一个空闲的inode号,在in

linux下的IO重定向与管道相关的知识简析

一.bash重定向部分简单翻译 1.1.bash手册关于重定向短短的注解(因为过于经典,所以摘录出来) 我的翻译要开始毁经典啦... 参考:https://blog.csdn.net/spch2008/article/details/51433353/ https://www.cnblogs.com/lqminn/archive/2013/05/30/3108283.htmlhttps://bash.cyberciti.biz/guide/Here_stringshttps://bbs.csdn

Linux基础入门--IO重定向及管道

IO重定向及管道 一直都提到,程序:指令+数据 其实程序也有IO,数据的来源有多个地方:文件.外部 可用于输入的设备:文件(linux一切皆文件) 键盘设备.文件系统上的常规文件加载内容.网卡等: 可用于输出的设备:文件(linux一切皆文件) 显示器.文件系统上的常规文件输出保存.网卡等: 程序的数据流有三种: 输入的数据流:<-- 标准输入(stdin),是键盘: 输出的数据流:--> 标准输出(stdout),显示器: 错误输出流:  --> 错误输出(stderr),显示器: f

10-IO重定向、管道及文本处理工具

bash的快捷键 Ctrl+l : 清屏 相当于clear命令: Ctrl+a:跳转至命令开始处: Ctrl+e:跳转至命令结尾处: ctrl+c :取消命令的执行 ctrl+u:删除命令行首至光标所在处的所有内容: Ctrl+k:删除光标所在处至命令行尾部的所有内容: 4 .bash的的I/O重定向及管道 程序: 指令+数据 读入数据:Input 输出数据:output 打开的文件都有一个fd: file descriptor (文件描述符) 标准输入:keyboard ,0 标准输出:mon

linux重定向和管道的使用

bash的I/O重定向及管道 程序是由程序+指令组成:或者是数据结构+算法 程序数据来自哪里,处理的结果又存放于哪里? 程序必须能够读入输出然后经过加工来产生结果:程序获取的数据可以使数据也可以hi变量.数据.列表文件等等,程序生产出来的结果可以是变量.数据.列表.文件等.也就是说,程序都有读入数据和输入数据的需求. 读入数据:Input 输出数据:Output 通常对于程序来说,输入输出数据可以是键盘.鼠标.显示器等:当然有时候输入的数据是程序自身内部所具有的,但我们认为这些数据应该是通过外部

linux重定向及管道

1.bash的的I/O重定向及管道        程序:指令+数据            读入数据:Input            输出数据:Output        打开的文件都有一个fd: file descriptor (文件描述符) 标准输入:keyborad, 0        标准输出:monitor, 1        标准错误输出:monitor, 2 I/O重定向:改变标准位置 输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS