shell管道与重定向
输出重定向
$ ls -l > lsoutput
这条命令将ls命令执行后的结果输入出到lsoutput文件中。
在linux shell中使用符号 > ,< 来完成输入输出的重定向,同时对应的有三种标准的文件描述符,0(标准输入),1(标准输出),2(标准错误),可以
单独的重写向其中的任何一种。你还可以重定向其他的文件描述符,但对标准文件描述符以外进行重定向的情况很少见。
默认情况下>符号在 文件已经存在时它会覆盖,需要使用set -o noclobber(或set -C)命令设置noclobber选项,阻止重定向操作对一个已有文件
的覆盖,使用set +o noclobber取消该选项。
使用>>操作符将输出内容附加到一个文件。例如:
$ ls -l >> lsoutput
除了标准的输入与输出在重定向时可以不加文件描述符,你需要把你想要重定向的文件描述符加在>操作符的前面。
如标准错误的输出流文件描述符是2,所以使用2>操作符.
$ ls -l 2> erroutput
如果你想把两组输出都重定向到一个文件中,你可以用>&操作符来结合两个输出。例:
$ ls -l > lsoutput 2>&1
我个人对上面命令的理解:
首先设置ls的标准输出流为lsoutput文件,然后使用a>&b符号使a文件描述符与b文件描述符都输出到同一个位置,前提是你要先指定a文件描述符 的位置才有效。
输入重定向
cat < lsoutpu
管道
linux管道操作符 | , 在linux下通过管道连接的进程可以同时运行,并且随着数据流在它们之间的传递可以自动的进行协调,你可以使用
sort命令对ps命令的输出进行排序。
如果不使用管道,你就必须分几个步骤来完成这个任务。
$ ps > psout //输出到文件
$ sort psout >> pssort //排序
更好的解决方案是用管道来连接进程,如:
$ ps | sort > pssort
允许连接的进程数目是没有限制的。注意,有系列的命令需要执行时,相应的输出文件是在这一组命令被创建的同时立刻被创建或写入的,所以
决不要在命令流中重复使用相同的文件名。
shell管道与重定向的更多相关文章
- shell管道和重定向
看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令 ...
- RHEL7管道与重定向
文件描述符 可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟 ...
- Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向
1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...
- Linux入门基础 #9:管道及重定向
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- linux文件管理之管道与重定向
============================================================== 内容提要: 输入输出重定向.管道: 重定向的作用: 文件描述符 0 1 2 ...
- Linux入门-7 Linux管道、重定向以及文本处理
Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...
- linux 学习管道 和重定向
开源文化的理念之一 就是不要重新发明轮子 在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因 ...
- linux 管道与重定向
命令行shell数据流有如下定义: 通过管道和重定向可以控制CLI的数据流
- Linux 入门记录:十六、Linux 多命令协作:管道及重定向
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...
随机推荐
- JSP学习笔记(1)——Jsp指令、动作元素和内置对象
简单来说,javaweb技术就是让服务器端能够执行Java代码,之后返回数据给客户端(浏览器)让客户端显示数据 jsp页面中可以嵌套java代码(java小脚本)和嵌套Web前端(html,css,j ...
- 基于springboot的websocket聊天室
WebSocket入门 1.概述 1.1 Http #http简介 HTTP是一个应用层协议,无状态的,端口号为80.主要的版本有1.0/1.1/2.0. #http1.0/1.1/2.0 1.HTT ...
- Delphi - 使用Pos、Copy函数定位和截取字符串
使用Pos函数来定位子字符串第一次出现的位置 函数定义: Function Pos(Substr: String, S: String): Integer; 表示取出Substr在S中第一次出现的位置 ...
- Luogu-P1027 Car的旅行路线 已知三点确定矩形 + 最短路
传送门:https://www.luogu.org/problemnew/show/P1027 题意: 图中有n个城市,每个城市有4个机场在矩形的四个顶点上.一个城市间的机场可以通过高铁通达,不同城市 ...
- CodeForces 86 D Powerful array 莫队
Powerful array 题意:求区间[l, r] 内的数的出现次数的平方 * 该数字. 题解:莫队离线操作, 然后加减位置的时候直接修改答案就好了. 这个题目中发现了一个很神奇的事情,本来数组开 ...
- codeforces 361 C. Levko and Array Recovery(暴力+思维)
题目链接:http://codeforces.com/contest/361/problem/C 题意:对一个数列有这么两个操作 1.(1,l,r,p)..将区间[l,r]所有数都加上p 2.(2,l ...
- yzoj1568: 数字组合 题解
题意 从n个数中选出和为m的组合个数(输入顺序不同的数是不同的) 输入样例: 4 4 1 1 2 2 输出样例 3 我们把每个数看作一件物品,它的重量就是它的值,价值就是1,而和m即为背包的容积,故背 ...
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- Mac环境IntelliJ IDEA配置JDK提示The selected directory is not a valid home for JDK
笔者使用mac配置如下: 硬件环境:MacBook Pro 操作系统:MacOS Sierra 10.13.6 开发工具:IntelliJ IDEA 2016.x JDK版本:已有Open JDK 8 ...
- Python(Head First)学习笔记:一
目录: 1 认识Python:Python的特点.安装.开发环境搭建 2 共享代码:连接共享社区.语法.函数.技巧 3 文件与异常:调试.处理错误.迭代.改进.完善 4 持久存储:文件存储.读写 5 ...