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命令,统计一下文件中内容的行数

 

 

posted @ 2019-12-15 22:30  努力跟上大神的脚步  阅读(197)  评论(0编辑  收藏  举报