Linux输入输出重定向详细使用说明

1、Linux标准输入输出
Linux标准输入、输出设备主要是键盘和显示器,详细介绍如下表所示。

Linux标准输入输出
设备 设备文件名 文件描述符 类型 符号表示
键盘 /dev/stdin 0(缺省是键盘,为0时是文件或者其他命令的输出) 标准输入 < <<
显示器 /dev/stdout 1(缺省是屏幕,为1时是文件) 标准输出 > >>
显示器 /dev/stderr 2(缺省是屏幕,为2时是文件) 标准错误输出 2> 2>>

注:其中一个>表示:覆盖原文件中的内容;如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候

两个>即>>表示:追加到原文件中的内容之后;果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响

2、Linux输出重定向
输出重定向:改变程序运行的输入来源和输出地点。

主要的适用方法如下表所示:

输出重定向
类型 符号 功能
标准输出重定向 命令 >文件 以覆盖方式,把命令的正确输出内容输出到指定的文件或设备当中
命令 >>文件 以追加方式,把命令的正确输出内容输出到指定的文件或设备当中
标准错误输出重定向 错误命令 2>文件 以覆盖方式,把命令的错误输出内容输出到指定的文件或设备当中
错误命令 2>>文件 以追加方式,把命令的错误输出内容输出到指定的文件或设备当中
正确/错误输出同时保存 命令 > 文件 2>&1 以覆盖方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 >> 文件 2>&1 以追加方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 &> 文件 以覆盖方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 &>> 文件 以追加方式,把命令的正确输出和错误输出内容保存到同一个文件当中
命令 >>文件1 2>文件2 以追加方式,把命令的正确输出保存在文件1中;以覆盖方式,把命令的错误输出内容保存到文件2中

3、Linux输入重定向

输入重定向
类型 符号 功能
标准输入 命令 <文件1 命令把文件1的内容作为标准输入
标识符限定输入 命令 <<标识符 命令从标准输入中读入内容,直到遇到“标识符”分界符位置
输入输出重定向 命令 <文件1 >文件2 命令把文件1的内容作为标准输入,把文件2作为标准输出

总结一五Linux的输入输出重定向:

1、重新设置命令的默认输入,输出,指向到自己文件(文件,文件描述符,设备其实都是文件,因为linux就是基于设备也是文件,描述符也指向是文件)

2、扩展自己新的描述符,对文件进行读写操作

您可能感兴趣的文章:

  • linux输入输出重定向使用详解
  • 浅析Linux中重定向问题
  • linux shell 管道命令(pipe)使用及与shell重定向区别
  • linux shell数据重定向(输入重定向与输出重定向)详细分析
  • linux shell 脚本实现tcp/upd协议通讯(重定向应用)
  • Linux base shell重定向详解
  • linux URL的301重定向代码分析
(0)

相关推荐

  • linux URL的301重定向代码分析

    所以凡是使用linux的主机,我都会定义个301重定向,以利于SEO.昨天照例把htaccess传到服务器上,没想到传上后网站无法访问,一删除就恢复正常.看了很多遍代码,也没发现什么问题. 干脆就重新学习下URL重写方法.规范化URL描述:在有些web服务器上,一个资源会拥有多个URL.在实际应用和发布中应该使用的是规范的URL,其他的则是简写或者只在内部使用.无论用户在请求中使用什么形式的URL,最终看见的都应该是规范的URL.解决方案:对所有不规范的URL执行一个外部HTTP重定向,以改变它

  • linux shell数据重定向(输入重定向与输出重定向)详细分析

    在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值. linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0,正确输出standard output 1,错误输出:error outp

  • linux输入输出重定向使用详解

    1. 输出重定向: 默认条件下,标准输出和错误输出都是终端,可以把标准输出和错误内容进行重定向: 复制代码 代码如下: [~]# echo "hello\!"hello\![~]# echo "hello!" -bash: !": event not found " 把标准输出重定向到文件 复制代码 代码如下: [~]# echo "hello" > test.sh[~]# cat test.shhello'>'输

  • Linux base shell重定向详解

    一.标准输入,标准输出与标准错误输出 在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名: 文件 文件描述符 输入文件-标准输入 0(缺省是键盘,为0时是文件或者其他命令的输出) 输出文件-标准输出 1(缺省是屏幕,为1时是文件) 错误输出文件-标准错误 2(缺省是屏幕,为2时是文件)系统中实际上有12个文件描述符,我们可以任意使用文件描述符3到9. 标准输入:从键盘输入数据,即从键盘

  • 浅析Linux中重定向问题

    简介 在计算领域,重定向是大多数命令行解释器所具有的功能,包括各种可以将标准流重定向用户规定地点的Unix shells.类Unix操作系统的程序可以通过dup2系统调用完成重定向,或者通过缺少一些灵活性但是更高一级层次的freopen(3)和popen来完成. 1重定向 1.1      重定向符号 >               输出重定向到一个文件或设备 覆盖原来的文件 >!              输出重定向到一个文件或设备 强制覆盖原来的文件 >>           

  • linux shell 脚本实现tcp/upd协议通讯(重定向应用)

    前几天发了重定向以及管道相关使用方法,今天这里发些很有趣的例子.通过重定向实现基于tcp/udp协议的软件通讯. linux 设备里面有个比较特殊的文件: /dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口.如果主机以及端口存在,就建立一个socket 连接.将在,/proc/self/fd目录下面,有对应的文件出现. 一.测试下:/dev/tcp/host/post文件 [chengmo@centos5  sh

  • linux shell 管道命令(pipe)使用及与shell重定向区别

    看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 standard input. 管道命令使用说明: 先看下下面图: comma

  • Linux输入输出重定向详细使用说明

    1.Linux标准输入输出 Linux标准输入.输出设备主要是键盘和显示器,详细介绍如下表所示. Linux标准输入输出 设备 设备文件名 文件描述符 类型 符号表示 键盘 /dev/stdin 0(缺省是键盘,为0时是文件或者其他命令的输出) 标准输入 < << 显示器 /dev/stdout 1(缺省是屏幕,为1时是文件) 标准输出 > >> 显示器 /dev/stderr 2(缺省是屏幕,为2时是文件) 标准错误输出 2> 2>> 注:其中一个&

  • php header 详细使用说明与使用心得第1/2页

    不管页面有多少header,它会执行最后一个,不过是有条件的,例如: header('Location:http://www.jb51.net'); header('Location:http://www.g.cn'); header('Location:http://www.baidu.com'); 这个就会跳到百度 header('Location:http://www.jb51.net');echo '我们'; header('Location:http://www.g.cn'); hea

  • linux ar 命令的使用说明和实例讲解

    ar命令可以用来创建.修改库,也可以从库中提出单个模块.库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member).原始文件的内容.模式.时间戳 .属主.组等属性都保留在库文件中. ar可让您集合许多文件,成为单一的备存文件.在备存文件中,所有成员文件皆保有原来的属性与权限. 用途说明 创建静态库.a文件.用C/C++开发程序时经常用到,但我很少单独在命令行中使用ar命令,一般写在makefile中,有时也会在shell脚 本中用到.关于Linux下的库文件

  • C++输入输出重定向方法示例

    重定向是什么 所谓重定向就是把某应用原来的操作对象改成别的.比如说,我这个程序原来是从键盘接收信息的,现在该从一个叫config.ini的文件中接收信息了:本来输出的信息都显示在屏幕上的,现在我不显示在屏幕上了,我要输出到result.txt文本中保存起来. 本文主要给大家介绍了关于C++输入输出重定向的相关内容,分享出来供大家参考学习价值,下面话不多说了,来一起看看详细的介绍吧 C++中流(stream)是一个对象,所以任何有流这种行为的对象也是流对象. 流主要分为三种类型: istream:

  • Windows cmd命令行输入输出重定向问题

    最近学校的网比较搓,DNS天天挂,出口带宽天天堵,NAT后的总出口带宽也才4MB/s(来源:360测速),唉,不亲身体会鬼才知道一堆人共享这个带宽是什么感觉. 废话不多说了,在Unix下重定向用着感觉很high,现在想把win下的nslookup的错误提示"*** Can't find server name for address 10.3.9.5: Non-existent domain"一同导出到txt文件,搜了下,嗯,遂有此文. 再说句废话,windows这是赤裸裸的抄袭啊,s

  • Nginx Linux安装部署详细教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载Nginx及相关组件 Linux系统是Centos 6.5 64位,我直接切换到root用户下安装 进入用户目录下载程序 下载相关组件 [root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz 省略安装内容...

  • C语言进阶输入输出重定向与fopen函数使用示例详解

    目录 正片开始 输入输出重定向 fopen函数 正片开始 大多数情况下,我们所熟知的输入输出都是标准I/O(标准输入输出),也就是我们在写代码时会直接从键盘读取,从屏幕输出.但是当我们涉及到数据统计或者多组未定义内容输入时,我们的程序就会出现一些小问题 int n = 0; while(scanf("%d",&n)==1) 按照常理来说,这里 scanf 的返回值是成功输入的数的个数,输入一但结束,scanf 函数就无法继续读取 n,返回0,我们测试一下,输入“1,2,3,4,

  • linux系统安装字体详细介绍

    linux系统安装字体详细介绍 前言: 使用linux做桌面系统有很多好处,比如内存可以节约不少啊.系统垃圾减少啊.软件自动启动完全受控制啊.病毒那些大大减少啊什么的,但是也有不少问题,比如一个问题就是很多windows上的字体就没有-- 这个也不怪linux,因为很多字体都是有版权的,linux发行版不敢随意打包进安装包啊,特别是中文经常用到的"微软雅黑",一看名字就知道,是微软制作出来的. 但是,发行版不能打包,我们可以偷偷的进行搬运安装啊 ,可以在网上下载其他人制作的字体文件来安

随机推荐