一、输出重定向的定义:将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示屏的屏幕上。
重定向输出使用“>”“>>”操作符
语法:> 文件名 #表示将标准输出的内容写到后面的文件中。如果此文件名已经存在,将会覆盖源文件中的内容。
>> 文件名 #表示将标准输出的内容追加到后面的文件中。若重定向的输出文件不存在,则会新建该文件。
例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 #不追加,就会覆盖原先内容
转载自:https://blog.csdn.net/afeiqiang/article/details/84929758