zoukankan      html  css  js  c++  java
  • Linux Shell基础 Shell的输入重定向和输出重定向

    概述

    在 Linux 中输入设备指的是键盘,输出设备指的是显示器。
    在 Linux 中,所有的内容都是文件,计算机硬件也是文件,标准输入设备(键盘)和标准输出设备(显示器)也是文件。这些设备的设备文件名如下表所示。

    设 备设备文件名文件描述符类 型
    键盘 /dev/stdin 0 标准输入
    显示器 /dev/stdout 1 标准输出
    显示器 /dev/stderr 2 标准错误输出

    Linux 是使用设备文件名来表示硬件的(比如 /dev/sda1 就代表第一块 SATA 硬盘的第一个主分区),使用"0"、"1"、"2"来分别代表标准输入、标准输出和标准错误输出。

    输出重定向是指将命令的结果不再输出到屏幕上,而是输出到文件中;输入重定向则是指不再使用键盘作为输入设备,而是把文件的内容作为命令的输入。

    输出重定向

    输出重定向是指将命令的结果不再输出到屏幕上,而是输出到文件中。在输出重定向中,">"代表的是覆盖,">>"代表的是追加,Bash 中支持的输出重定向符号如表所示。

    类 型符 号作 用
    标准输出重定向 命令 > 文件 以覆盖的方式,把命令的正确输出输出到指定的文件或设备中
    命令 >> 文件 以追加的方式,把命令的正确输出输出到指定的文件或设备中
    标准错误输出重定向 错误命令 2> 文件 以覆盖的方式,把命令的错误输出输出到指定的文件或设备中
    错误命令 2>> 文件 以追加的方式,把命令的错误输出输出到指定的文件或设备中
    正确输出和错误输出同时保存 命令 > 文件2>&1 以捜盖的方式,把正确输出和错误输出都保存到同一个文件中
    命令 >> 文件2>&1 以追加的方式,把正确输出和错误输出都保存到同一个文件中
    命令&>文件 以覆盖的方式,把正确输出和错误输出都保存到同一个文件中
    命令&>>文件 以追加的方式,把正确输出和错误输出都保存到同一个文件中
    命令>>文件1 2>>文件2 把正确的输出追加到文件1中,把错误的输出追加到文件2中

    标准输出重定向

     ls命令的输出并没有显示到屏幕上,而是输出到了out.log文件中,">" 表示以覆盖的方式输出文件中。

    [root@localhost ~]# ls -l > out.log

    把date命令的输出追加到outlog文件中,">>" 表示以追加的方式输出文件中。

    [root@localhost ~]# date >> out.log 

    标准错误输出重定向

    错误输出重定向,错误输出没有输出到屏幕上,而是写入了err.log文件中。注意"2>>"一定不能有空格。

    [root@localhost ~]# ls test 2>> err.log

    正确输出和错误输出同时保存

    在把正确输出和错误输出都保存下来的方法有两种:

    [root@localhost ~]# ls >> out.log 2>&1
    [root@localhost ~]# ls test &>>out.log

    把正确输出和错误输出分开保存到不同的文件中,正确输出会写入文件 list.log 中,而错误输出则会写入 err.log 文件中。命令如下:

    [root@localhost ~]# ls >>list.log 2>>err.log

     命令结果不输出到屏幕也不保存到文件中

    命令结果不输出到屏幕也不保存到文件中,就可以把命令的所有执行结果放入 /dev/null 中。 命令如下:

    [root@localhost ~]# ls &>/dev/null

    输入重定向

    输入重定向是改变输入的方向,不再使用键盘作为命令的输入,而是使用文件作为命令的输入。以 wc 命令为例,命令格式如下:

    [root@localhost ~]#wc [选项] [文件名]

    选项:

    • -c:统计字节数;
    • -w:统计单词数;
    • -l:统计行数;

    wc 命令可以统计我们通过键盘输入的数据。如果使用输入重定向符"<",则可以统计文件的内容。命令如下:

    [root@localhost ~]# wc < anaconda-ks.cfg

      

  • 相关阅读:
    好玩夫妻
    笔记整理MS SQL2005 中查询表的字段信息,
    庆幸也与你逛过那一段旅程
    PureMVC
    简单工厂模式
    工厂方法模式
    UML类图
    PureMVC
    oracle双机热备
    一个不错的免费网络硬盘
  • 原文地址:https://www.cnblogs.com/lizhouwei/p/9991466.html
Copyright © 2011-2022 走看看