Linux就该这么学——初识重定向
重定向的本质(个人理解)
若是输出重定向,则将命令信息写入到指定文件中;
若是输入重定向,表示将对文件执行一些命令,并将命令结果输出到屏幕.
重定向的5种模式
标准覆盖输入重定向/标准追加输入重定向/错误覆盖输出重定向/错误追加输出重定向/输入重定向
初识输入输出重定向
输入重定向 :
把文件导入到命令中
输出重定向 :
把原本要输出到屏幕的数据信息写入到指定的文件中
技术类型 :
标准输出重定向/错误输出重定向
写入模式 :
清空写入和追加写入
标准输入重定向(STDIN 文件描述符为0) :
默认从键盘输入,也可从其他文件或命令中输入
标准输出重定向(STDOUT 文件描述符为1) :
默认输出到屏幕
错误输出重定向(STDERR 文件描述符为2) :
默认输出到屏幕
示例:
1.查看两个文件的属性信息,其中第二个文件不存在,虽然针对这两个文件操作都会分别会在屏幕上输出一个数据信息,但这两个的操作差异其实是很大的,如下图所示
解释 :
输入重定向相关符号和作用
符号 |
作用 |
命令 < 文件 |
将文件作为命令的标准输入 |
命令 << 分界符 |
从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件1 > 文件2 |
将文件1作为命令的标准输入并将标准输出到文件2 |
输出重定向相关符号和作用
符号 |
作用 |
命令 > 文件 |
将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 |
将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 |
将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 |
将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>&1 或 命令 &>> 文件 |
将标准输出和错误输出共同写入到文件中(追加到原有内容的后面) |
示例 :
1.通过标准输出重定向将man bash 命令原本要输出到屏幕的信息,写入文件readme.txt中,并查看文件readme.txt中的内容
2.通过覆盖写入模式到readme.txt文件写入一行数据(该文件中已经包含上一个示例中的bash解释内容),然后再通过追加写入模式向文件再写入一行数据
3.把错误命令信息写入到文件中
4.利用输入重定向把readme.txt文件导入给wc -l命令,统计一下文件中内容的行数