一、啥是重定向??

Linux重定向定向分为两种,一种输入重定向,一种是输出重定向;

从字面上理解,输入输出重定向(重新定义方向) 就是「改变输入与输出的方向」的意思。

总结:

输入方向就是我们人类从键盘输入指令流向电脑程序,如果我们改变它流向的方向,就叫输入重定向。

输出方向就是我们给电脑程序指令,电脑程序接受然后输出给电脑屏幕或者终端上让我们看到结果,如果我们改变他流出的方向,不让我们在终端上看到,输出到文件中,就叫流出重定向。

二、文件描述符

标准输入文件的描述符 代表为 0

标准输出文件的描述符 代表为 1

标准错误输出文件的描述符为 2

三、Linux shell 输出重定向

command表示输出的结果

file代表一个目标文件

输出结果和描述符之间要有空格

符号和目标文件之间有没有空格都可以 最好不要带空格

1、标准输出重定向

符号:command >file 作用:以覆盖的方式,把 command 的正确输出结果输出到 file 文件中。

符号:command >>file 作用:以追加的方式,把 command 的正确输出结果输出到 file 文件中。

2、标准错误输出重定向

符号:command 2>file作用:以覆盖的方式,把 command 的错误信息输出到 file 文件中。

符号:command 2>>file作用:以追加的方式,把 command 的错误信息输出到 file 文件中。

3、正确输出和错误信息同时保存

符号:command >file 2>&1作用:以覆盖的方式,把正确输出和错误信息同时保存到同一个文件(file)中。

符号:command >>file 2>&1 作用:以追加的方式,把正确输出和错误信息同时保存到同一个文件(file)中。

4、正确输出和错误信息分别保存

符号:command >file1 2>file2作用:以覆盖的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 file2 文件中。

符号:command >>file1 2>>file2 作用:以追加的方式,把正确的输出结果输出到 file1 文件中,把错误信息输出到 file2 文件中。

表格形式展示:

注意!!!强调!!!

1、在输出重定向中,>代表的是覆盖,>>代表的是追加。

2、输出重定向的完整写法是 描述符>file 或者 描述符>>file

当描述符为1时,可以省略,当描述符为2时 不能省略!!!而且描述符和符合之间不能有空格

案例:

[root@lixian ~]# touch 1 2 #有两个文件

[root@lixian ~]# echo "123445" 1 >1 #有空格输出到1

[root@lixian ~]# echo "123445" 1>2 #无空格输出到2

[root@lixian ~]# cat 1 2 #查看

123445 1 #系统默认把空格前面的1 当做内容

123445

实例操作(一看就懂,一听就会)干货:

标准输出重定向 案例

[root@lixian ~]# ls -l #预览输出结果

total 8

-rw-r--r--. 1 root root 9 Nov 30 22:04 1

-rw-r--r--. 1 root root 7 Nov 30 22:04 2

-rw-r--r--. 1 root root 0 Nov 30 22:12 demo.txt

[root@lixian ~]# cat demo.txt #查看demo.txt有没有内容

[root@lixian ~]# ls -l >demo.txt #执行重定向

[root@lixian ~]# cat demo.txt #查看结果

total 8

-rw-r--r--. 1 root root 9 Nov 30 22:04 1

-rw-r--r--. 1 root root 7 Nov 30 22:04 2

-rw-r--r--. 1 root root 0 Nov 30 22:13 demo.txt

错误输出重定向 案例

[root@lixian ~]# ls a.txt #预览错误信息

ls: cannot access a.txt: No such file or directory

[root@lixian ~]# cat err.txt #查看err.txt有没有内容

[root@lixian ~]# ls a.txt 2>err.txt #执行重定向

[root@lixian ~]# cat err.txt #查看结果

ls: cannot access a.txt: No such file or directory

把正确和错误信息都保存一个文件里 案例

[root@lixian ~]# ls -l >he.txt 2>&1 #重定向对错覆盖方式一起保存

[root@lixian ~]# ls abc >>he.txt 2>&1 #重定向对错追加方式一起保存

[root@lixian ~]# cat he.txt #查看结果

total 20

-rw-r--r--. 1 root root 9 Nov 30 22:04 1

-rw-r--r--. 1 root root 7 Nov 30 22:04 2

-rw-r--r--. 1 root root 283 Nov 30 22:26 a.txt

-rw-r--r--. 1 root root 1 Nov 30 22:13 demo.txt

-rw-r--r--. 1 root root 104 Nov 30 22:26 err.txt

-rw-r--r--. 1 root root 0 Nov 30 22:27 he.txt

ls: cannot access abc: No such file or directory

上面的操作太乱的,啥东西都往一个文件内存,乱七八糟的,太不利于我们以后的查找了,难以分辨!!

所以重点来了,我们会写成这样的形式

把正确的结果和报错的结果分开保存 案例

[root@lixian ~]# ls -l >>out.txt 2>>err.txt #执行结果的不同 分别输出到不同的文件

[root@lixian ~]# cat out.txt

total 0

-rw-r--r--. 1 root root 0 Nov 30 22:37 err.txt

-rw-r--r--. 1 root root 0 Nov 30 22:37 out.txt

[root@lixian ~]# cat err.txt

[root@lixian ~]#

解释:>>out.txt 是正确输出重定向的文件 2>>err.txt是错误输出重定向的文件

如果ls -l 这个命令执行成功,成功结果就会输出到out.txt文件里面

如果ls -l 这个命令执行错误,错误结果就会输出到err.txt文件里面

这样一来,正确的输出结果会写入到 out.txt,而错误的信息则会写入到 err.txt。

垃圾回收站:

如果你既不想把命令的输出结果保存到文件,也不想把命令的输出结果显示到屏幕上,干扰命令的执行,那么可以把命令的所有结果重定向到 /dev/null 文件中。

[root@lixian ~]# ls -l &>/dev/null

[root@lixian ~]#

×用微信扫描并分享

本站博主 , 版权所有丨如未注明 , 均为原创

转载请注明原文链接:【一看就懂,一听就会】Linux重定向详解——输出重定向

linux输出重定向跨服务器,【一看就懂,一听就会】Linux重定向详解——输出重定向...相关推荐

  1. nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解

    nps内网穿透服务器搭建教程(ip显示阿里云的ip)-小宇特详解 一共有两部分,一部分是windows安装,一部分是linux系统(使得ip显示自己的阿里云). 前期准备 1.一台云服务器 2.配置安 ...

  2. Linux curl命令使用代理、以及代理种类介绍(附:curl命令详解)

    目录 一.代理服务器分类: 二.Linux curl命令代理设置参数: 三.Linux curl命令设置代理举例: 1.linux curl命令设置http代理: 2.Linux curl命令设置so ...

  3. C/C++编译和链接过程详解 概述 (重定向表,导出符号表,未解决符号表)

    详解link  有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...

  4. Docker 入门看这一篇就够了,万字详解!

    容器简介 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件. 容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试 ...

  5. HTTP协议之http状态码详解 300-305 重定向

    HTTP协议之http状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  6. 我的世界服务器修改钟,我的世界钟合成表 钟使用方法详解

    我的世界钟合成表 钟使用方法详解.不仅在现实生活中有着钟,我的世界游戏里面也是有钟的,那下面就给大家分享一下我的世界钟怎么合成以及钟有什么用吧!希望对大家有所帮助. 游戏园我的世界官方群:325049 ...

  7. CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解

    Haproxy配置 永久修改名字:便于区分虚拟机! Haproxy:hostnamectl set-hostname haproxy Web1: hostnamectl set-hostname WE ...

  8. 饥荒怎么自动订阅服务器,饥荒联机版自动挂礼物mod及使用方法详解

    饥荒联机版中官方经常会推出一些挂机掉落礼物的活动,可能一些玩家会觉得很麻烦,下面给大家分享一些自动挂礼物mod和其使用方法,希望可以帮助到各位玩家. 饥荒联机版自动挂礼物mod及使用方法详解 挂礼物m ...

  9. SQL Server 2017 2019 Linux(Centos、Unbuntu16.04、Unbuntu18.04、Unbuntu20.04)安装过程详解

    SQL Server 2017 2019 Linux安装手册 1简介 SQL Server是微软的数据库平台,而SQL Server 2017 linux是运行在linux服务器上的版本.本文的安装采 ...

最新文章

  1. cocos2dx[3.4](26)——视差节点ParallaxNode
  2. idea验证失败_SVN提示https证书验证失败解决办法
  3. 根据对方提供的URL获取返回的数据流并保存为XML
  4. [转] Lock-Free 数据结构
  5. 一些实用的编程模式 | Options模式
  6. Qt + Python + OpenCV图标替换工具 之 Python调用dll(三)
  7. 《Spring 5 官方文档》5. 验证、数据绑定和类型转换(二)
  8. 计算机三级网络技术总结,计算机三级网络技术总结
  9. Zephyr_overlay文件讲解
  10. 都有哪些查找和下载英文文献的方法?
  11. 记一次使用EasyExcel出现Convert excel format exception.You can try specifying the ‘excelType‘ yourself
  12. 安装多个电脑杀毒软件
  13. dpi,分辨率,屏幕尺寸,dp,px,dip
  14. 演示笔记本重装系统win10教程,笔记本电脑安装win10系统
  15. 神武服务器物品开放,《神武4》宠物携带等级规则调整限服测试 生存大挑战等玩法优化全服开放...
  16. dede taglist模板中调用自定义字段
  17. c++ strstr函数的实现
  18. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(4):Cortex-M3指令分类
  19. html输入时提示文字消失,html中input文字框,初始里边有文字提示。当点选时,文字消失,怎么改?...
  20. 風地觀 (易經大意 韓長庚)

热门文章

  1. c语言中接收字符串函数,C语言中字符串处理函数拾锦
  2. 摄氏度转换华氏度(JAVA)
  3. python---post请求数据包,正常模拟登录,图片验证码未自动化,phtesseract
  4. BD,HD,720P和1280P的区别
  5. 鼠标乱跳【坑人必备】
  6. java camel exchange类_camel
  7. 收费企业邮箱哪个好用,如何选择合适的公司企业邮箱?
  8. [JavaScript] 常用JS脚本
  9. 本地连接属性中没有internet协议(TCP/IP)
  10. Latex 参考文献 bbl文件报错:Missing $ inserted. <inserted text>