重新点亮shell————管道和重定向[二]
前言
简单介绍一下管道和重定向。
正文
- 管道和信号一样,是进程通信的方式之一
管道符是"|",将前一个命令执行的结果传递给后面的命令。
比如说:
ls -l | more
就是第一个的输入,然后给第二个的输入,这其实更好理解。
2.重定向符号
一个进程默认会打开标准输入、标准输出、错误输出三个文件的描述符。
a 输入重定向符号 "<"
read var < /path/to/a/file
b 输出重定向 ">" ">>" "2>" "$>"
echo 123 > /path/to/a/file
这里有4个不同的符号。
第一个符号是:> 这个表示清空里面的内容,然后填入新内容。
第二个符号:>> 这个是追加的意思。
第三个符号:2> 如果前面的命令产生错误才会输入进去。
第四个符号: $> 无论前面正确还是错误都输出到指定文件之中
c 输入和输出重定向组合使用
cat > /path/to/a/file << EOF
I am $USER
EOF
下面来演示一下重定向的命令了。
第一个 wc -l <,这个可以统计一个文件里面有多少行。

然后输入重定向:
echo "123" > /tmp/a.txt

然后我们进行追加:
echo "123" >> /tmp/a.txt

同样来输出错误的。
echo "123" 2> /tmp/a.txt
如果没有错误那么会被清空。
echo "123" 2>> /tmp/a.txt
这样就是追加了。
那我们来试一下错误的:
nocmd 2>> /tmp/a.txt

如果想无论是错误还是正确都输入到文件中去:
nocmd 2>> /tmp/a.txt
这样就行。
那么看下输入和输出有什么组合可以有新效果。
cat > /path/to/a/file << EOF
I am $USER
EOF
就是把I am $USER 输入到 /path/to/a/file中。
如果是追加的话,那么是:
cat >> /path/to/a/file << EOF
I am $USER
EOF
重新点亮shell————管道和重定向[二]的更多相关文章
- shell管道和重定向
看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令 ...
- shell管道与重定向
输出重定向 $ ls -l > lsoutput 这条命令将ls命令执行后的结果输入出到lsoutput文件中. 在linux shell中使用符号 > ,< 来完成输入输出的重定向 ...
- linux文件管理之管道与重定向
============================================================== 内容提要: 输入输出重定向.管道: 重定向的作用: 文件描述符 0 1 2 ...
- Linux 入门记录:十六、Linux 多命令协作:管道及重定向
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...
- RHEL7管道与重定向
文件描述符 可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟 ...
- Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向
1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...
- Linux入门基础 #9:管道及重定向
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Linux入门-7 Linux管道、重定向以及文本处理
Linux管道.重定向以及文本处理 1 Linux多命令协作:管道及重定向 管道和重定向 2 Linux命令行文本处理工具 文件浏览 基于关键字搜索-grep 基于列处理文本-cut 文本统计-wc ...
- Shell test 命令,Shell 输入/输出重定向
一.Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -g ...
- linux 学习管道 和重定向
开源文化的理念之一 就是不要重新发明轮子 在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因 ...
随机推荐
- jquery判断滚动条是否到达顶部或者底部
<script> $(function(){ $(window).scroll(function(){ //离顶部的距离=0 //方法一:var isTop=$(this).scrollT ...
- GaussDB(DWS)集群通信:详解pooler连接池
本文分享自华为云社区<GaussDB(DWS) 集群通信系列一:pooler连接池>,作者:半岛里有个小铁盒. 1.前言 适用版本:[8.1.0(及以上)] GaussDB(DWS) 为M ...
- get 加 header 下载文件 函数,虽然最后没用。
export const apiDown = (url, data = {}) => { let data2 = secretFilter(data) axiosDown({ url, para ...
- 玩转Vue3之shallowRef和shallowReactive
前言 Vue3 作为一款现代的 JavaScript 框架,引入了许多新的特性和改进,其中包括 shallowRef 和 shallowReactive.这两个功能在Vue 3中提供了更加灵活和高效的 ...
- day02-SpringMVC映射请求数据
SpringMVC映射请求数据 1.获取参数值 在开发中,如何获取到 http://xxx/url?参数名1=参数值1&参数名2=参数值2 中的参数? 之前的案例中我们知道:提交的url的参数 ...
- 关于初始化page入参的设计思路
最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下 使用三元表达式直接判断是否null,然后赋值 使用map ...
- Toast源码深度分析
目录介绍 1.最简单的创建方法 1.1 Toast构造方法 1.2 最简单的创建 1.3 简单改造避免重复创建 1.4 为何会出现内存泄漏 1.5 吐司是系统级别的 2.源码分析 2.1 Toast( ...
- 替换Spring容器中已经存在的Bean
一.背景 我们在开发的过程中,经常会引入别人写的jar包实现某些功能.而别人的jar包一般都自动注入Spring容器中,假设别人都是通过@Bean或@Component注入的,并且没有加入@Condi ...
- verilog之简单时钟信号的编写
verilog之简单时钟信号的编写 1.数字时钟信号 在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路.掌握时钟信号的编写,对于时序电路的仿真具有重要意义.所有的时序电路都需要设置时 ...
- 自己写个网盘系列:③ 开源这个网盘编码,手把手教你windows linux 直接部署,docker本地打包部署网盘应用
系列①②已经完成了这个项目的页面和项目的全部编码,前后端分离,这个文章将向你展示运维小伙伴如何部署到windows服务器,linux服务器,docker部署,一学就会,快来看看吧! 说明:这个系列准备 ...