输出重定向、输入重定向及错误重定向

一、输出重定向的定义:将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示屏的屏幕上。

       重定向输出使用“>”“>>”操作符

       语法:> 文件名  #表示将标准输出的内容写到后面的文件中。如果此文件名已经存在,将会覆盖源文件中的内容。

                 >> 文件名  #表示将标准输出的内容追加到后面的文件中。若重定向的输出文件不存在,则会新建该文件。

      例1:查看当前主机的CPU的类型保存到CPU.txt文件中(不显示在屏幕上)

                cat  /proc/cpuinfo     >cpu.txt

      例2:将内核版本信息追加到cpu.txt

                uname  -a  >>cpu.txt

      例3:清空一个文件

                 >cpu.txt  

二、输入重定向的定义:将命令中输入的途径由默认的键盘改为其他文件,而不是等待从键盘输入

       2.1

        例1:grep root < /etc/passwd 

        例2:在mysql中数据的导入:

                  mysql  -uroot  -p123456 < a.sql  #将a.sql导入库

         2.2EOF:通常与“<<”组合使用

         例1:以“<<EOF”开始,以EOF结尾

                  命令:①、cat >a.txt <<eof

                             ②、然后写入自己需要写入的东西,但最后一定要以eof结尾

                             ③、cat a.txt  查看写入的内容

         例2、以其他任意作为分界符,例如ccc

                 命令:①、cat >a.txt <<ccc

                            ②、然后写入自己需要写入的东西,但最后一定要以ccc结尾

                            ③、cat a.txt  查看写入的内容

          例3、在脚本我们可以通过重定向输入来打印消息菜单

                  ①、vim  p.sh       
                  ② 、#!/bin/bash

                  ③、cat <<efo

                          写入自己要写入的内容,最后以efo结尾

                 ④、p.sh

三、错误重定向:将命令执行过程中出现的错误信息 (选项或参数错误) 保存到指定的文件,而不是直接显示到显示器

        作用:错误信息保存到一个文件中

        操作符:2>

        例1:将错误显示的内容和正确显示的内容分开。

                 ①、ls /etc/passwd xxx > a.txt          #因为没有xxx这个文件或目录

                 ②、cat a.txt

                 ③、ls /etc/passwd xxx 2> a.txt       

                 ④、cat a.txt                                    #不追加,就会覆盖原先内容

                   

猜你喜欢

转载自blog.csdn.net/qq_42289214/article/details/88372440