Linux在启动后,会默认打开3个文件操作符,分别是

  (1)标准输入0,standard input

  (2)正确输出1,standard output

  (3)错误输出2,standard error

对于一条Linux命令执行的过程是:

  (1)首先存在一个输入:可以从键盘输入,也可以从文件输入

  (2)若命令成功执行,将会把结果输出到屏幕上(默认是输出到屏幕的)

  (3)若命令执行失败,同样会把结果输出到屏幕上(默认也是输出到屏幕的)

在使用的过程中,有时不希望把结果输出到屏幕上,而是希望输出到文件或其他设备上,这是就需要使用所谓的数据重定向

Linux下的输入输出操作符:

  (1)标准输入(stdin):0,使用<或<<

  (2)正确输出(stdout):1,使用>或>>

  (3)错误输出(stderr):2,使用2>或2>>

  注意,其中<或>表示覆盖,<<或>>表示追加

输出重定向

  1. 已知test.sh存在,而test1.sh不存在

    

    此时,正确输出和错误输出都显示在屏幕上!

  2. 要求,把正确输出写入文件stdout.txt中,错误输出显示在屏幕上

    

  3. 要求,把错误输出写入文件stderr.txt中,正确输出显示在屏幕上

    

  4. 要求,把正确输出和错误输出都写入统一文件stdall.txt中

    

  5. 要求,将错误信息关闭,使用的是2>&-

    

  6. 要求,将所有的输出信息都关闭,使用的是1>&- 2>&-

    

  扩展:“> file 2>&1”与 “2>&1 > file”的区别

    (1)“> file 2>&1”,将正确输出和错误输出都重定向到文件file中

      

    (2)“2>&1 > file”,将错误输出显示在屏幕上,将正确输出重定向到文件file中

      

输入重定向

  1. 从键盘获得数据,按下【Ctrl】+d即可保存离开

    

  2. 以给定字符作为结束

    

  3. 从文件file获取数据

    

Linux日常之数据重定向的更多相关文章

  1. Linux中的数据重定向

    重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard e ...

  2. (大数据工程师学习路径)第一步 Linux 基础入门----数据流重定向

    介绍 开始对重定向这个概念感到些许陌生,但通过前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是重定向,将原本输出到标准输出的数 ...

  3. 每天学点Linux命令之Linux-Shell中的数据重定向与管道命令

    在Linux shell中, 数据重定向使用 > < 符号,管道命令使用 | 符号链接前后两个命令. 具体区别如下: 数据重定向 1.(>): 左侧应该有标准输出 > 右侧只能 ...

  4. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  5. 【CentOS】Linux日常管理

    /////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...

  6. linux日常使用指令总结

    linux 日常指令总结(ubuntu): ls -lha 所有文件及权限 df -h 系统磁盘空间 du -sh 当前目录大小 du -ah --max-depth=1 显示目录下所有的文件和文件夹 ...

  7. linux日常---3、linux常用操作

    linux日常---3.linux常用操作 一.总结 一句话总结: 状态的确是非常之好,享受这种状态. 1.linux删除文件夹和文件? rm -rf *:删文件和文件夹 rm -rf *.*:只能删 ...

  8. linux日常---2、lamp.sh安装lamp环境中的linux操作

    linux日常---2.lamp.sh安装lamp环境中的linux操作 一.总结 一句话总结: 学不如用,学一百遍还不如真正多用几遍的来的效果好 1.linux下查看进程命令? ps 常用 ps - ...

  9. linux下的数据备份工具rsync讲解

    linux下的数据备份工具 rsync(remote sync 远程同步)   名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...

随机推荐

  1. python - 函数any() 和 all() 的区别

    转自:https://www.cnblogs.com/nulige/p/6128816.html any()与all()函数的区别: any是任意,而all是全部. 版本:该函数适用于2.5以上版本, ...

  2. 自动轮询的recycleView

    import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.A ...

  3. 阶段3 2.Spring_01.Spring框架简介_05.spring的优势

  4. kafka代码测试连接

    1.发送: package kafka.test; import java.util.Date;import java.util.Properties;import java.util.Random; ...

  5. XMLHttpRequest 对象相关

    XMLHttpRequest 对象用于在后台与服务器交换数据. 后台 package com.java1234.web; import java.io.IOException; import java ...

  6. eclipse 包含头文件出错

    最近这段时间自己在写游戏的框架,在做的过程中遇到了一个问题:没办法#include <iostream>,在eclipse下F3也找不到对应的 iostream 文件, 最后在晚上找资料, ...

  7. 【LeetCode】714、买卖股票的最佳时机含手续费

    Best Time to Buy and Sell Stock with Transaction Fee 题目等级:Medium 题目描述: Your are given an array of in ...

  8. flask url_for的用法

    from flask import Flask,url_for app = Flask(__name__) @app.route('/') def hello_world(): print(url_f ...

  9. 第十四周课程总结&&实验总结

    课程总结: 1.Java实现跨平台操作的工具:JDBC. 它的意思是java数据库连接,可以方便的实现多种关系型数据库的统一操作,它由一组用java语句编写的类和接口组成. 2.JDBC驱动分类: J ...

  10. 【Linux 网络编程】网络IP地址结构体

    (1)IPv4套接口地址结构通常也称为"网际套接字地址结构",它以"sockaddr_in"命名,        定义在<netinet/in.h> ...