Shell--数据流重定向
数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方
标准
1、标准输入(stdin):代码为0,使用<或<<
2、标准输出(stdout):代码为1.,使用>或>>
3、标准错误输出(stderr):代码为2,使用2>或2>>
Standard output 与 standard error output
简单地说,标准输出值的是命令执行所回传的正确的信息,而标准错误输出可以理解为命令执行失败后,所回传的错误信息
范例:
正确与错误数据写入两个不同的文件中
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list_right 2> list_error
正确与错误数据写入同一个文件中
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc > list 2>&1
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc &> list
/dev/null垃圾桶黑洞设备与特殊写法
如果我们知道错误信息会发生,所以要将错误信息忽略掉而不显示或存储呢?这个时候黑洞设备/dev/null就很重要了,这个/dev/null可以吃掉任何导向这个设备的信息
范例:
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# find /home -name .bashrc 2> /dev/null
Standard input:<与<<
以最简单的说法来说,就是将原本需要有键盘输入的数据改有文件内容来替代,下面我们由cat命令操作来了解一下什么叫做键盘输入吧
范例:利用cat命令来创建一个文件的简单流程
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile
testing
cat file test
<==这里按下【ctrl】+d来离开
下面用纯文本文件代替键盘输入
范例:
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile < ~/.bashrc
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# ll catfile ~/.bashrc
-rwxrwxrwx 1 root root 3106 Jun 24 16:05 catfile*
-rw-r--r-- 1 root root 3106 Feb 20 2014 /root/.bashrc
理解<之后,我们来看看<<这个符号,它代表的是结束输入的意思,举例来说,我们要用cat直接将输入的信息输出到catfile中。且当由键盘输入eof时,该次输入就结束
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat > catfile << "eof"
> this is a test
> ok now stop
> eof
<==输入eof这个关键字,立刻就结束而不需要输入【ctrl】+d
root@DESKTOP-J295FSF:/mnt/c/Users/vivi# cat catfile
this is a test
ok now stop
<==只有这两行,不会存在关键字那一行
我们总结一下哪些情况需要使用命令输出重定向:
1、屏幕输出的信息很重要,而且我们需要将它存下来的时候
2、后台执行中的程序,不希望她干扰屏幕正常的输出结果时
3、一些系统的例行命令的可能已知错误信息时,想以“2>/dev/null”将它丢掉时
4、错误信息与正确信息需要分别输出时
Shell--数据流重定向的更多相关文章
- shell 数据流重定向操作符总结
最近看了鸟哥私房菜关于shell数据流重定向的内容,总结一下. 操作符: 1.标准输入(stdin):代码为0,符号:< 或者<< 2.标准输出(stdout):代码为1,符号:&g ...
- linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法
一.vi文字处理器1.vi与vimvi:文字处理器vim:程序开发工具2.vi介绍三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:w ...
- 十句话教你学会Linux数据流重定向
1.看到重定向一下子就想起了web里面的redirect,没错,但是Linux数据流重定向的作用不是跳到另一个网页,而是用来存储重要的屏幕信息.将不必要的屏幕信息输出到文件里或者“黑洞”里.将错误信息 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----数据流重定向
介绍 开始对重定向这个概念感到些许陌生,但通过前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是重定向,将原本输出到标准输出的数 ...
- 初窥Linux 之 数据流重定向
一.什么是数据流重定向 在说数据流重定向之前,先来说说数据流的概念吧.数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr). 简单来说,标准输出指的是命令执行 ...
- 【linux】linux的数据流重定向
首先说一下什么是数据流重定向,所谓数据流重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(code block)的输出,然后把捕捉到的输出,作为输入发送给另外 ...
- 学习bash——数据流重定向
一.概述 1. 数据流 定义:以规定顺序被读取一次的数据序列. 分类:标准输入(stdin).标准输出(stdout)和标准错误输出(stderr). 标准输出:指的是命令执行所回传的正确信息. 标准 ...
- Linux Shell系列教程之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
- Linux 数据流重定向
1.三种数据流重定向1)标准输入(stdin):代码为0,使用0<或0<<,其中代码0可以省略2)标准输出(stdout):代码为1,使用1>或1>>,其中代码1可 ...
- Linux数据流重定向与管道
数据流重定向简单来说就是把原本应该输出到某处(比如说屏幕)的数据,重定向其输出目的地,到其他的地方(比如文件). linux中的输入与输出: 标准输入(stdin):默认从键盘输入 标准输出(stdo ...
随机推荐
- Smith-Waterman算法及其Java实现
Smith-Waterman算法是1981年Smith和Waterman提出的一种用来寻找并比较具有局部相似性区域的动态规划算法,很多后来的算法都是在该算法的基础上发展的.这是一种两序列局部比对算法, ...
- 【反演复习计划】【bzoj2820】YY的GCD
这题跟2818一样的,只不过数据水一点,可以用多一个log的办法水过去…… 原题意思是求以下式子:$Ans=\sum\limits_{isprime(p)}\sum\limits_{i=1}^{a}\ ...
- js 各种取整方式及方法
1.直接丢弃小数部分,保留整数部分 a:parseInt(1.5555) b: 0|1.5555 2.向上取整 a: Math.ceil(1.5555) b: (1.5555+0.5).toFixed ...
- JS ajxa请求 返回数据
1. 发送ajax请求, 后台返回json集合 JQuery: $.each(list集合,回调函数function(下标,集合对象){}); 如下: <script> $(func ...
- solr 启动过程分析
http://www.cnblogs.com/likehua/p/4353608.html#top
- win32 sdk列表视图控件(ListCtrl或ListView)资料整理
列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来.与树视图类似,列表控件可以由多个子项目组成,可以设置为Icon ...
- 利用beamer做幻灯片插入EPS图片的方法
可以利用epstopdf宏包,在命令行下利用pdflatex带"-shell-escape"参数编译. 先插入epstopdf宏包:\usepackage{graphicx}\ ...
- AC日记——T-Shirt Hunt codeforces 807b
T-Shirt Hunt 思路: 水题: 代码: #include <cstdio> #include <cstring> #include <iostream> ...
- IntelliJ IDEA 常用设置/快捷键
经常用到 IntelliJ IDEA 编写java,由于不时需要重装系统,所以Mark一下一些基本的设置选项,以便查询,这篇帖子会一直更新,只要有常用的新的设置或者快捷键 一.常用设置 显示代码行号 ...
- 2、Flask实战第2天:URL传参
当我们访问网站/的时候,会执行hell_world函数,并把这个函数的返回值返回给浏览器,这样浏览器就显示hello world了 @app.route('/') def hello_world(): ...