美文网首页
LINUX----数据流重定向

LINUX----数据流重定向

作者: JuMinggniMuJ | 来源:发表于2020-03-10 21:44 被阅读0次

                数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据,给它传输到其他的地方。

    1.数据输出:

                    我们知道我们运行命令的时候有时会将结果输出到屏幕上,我们可以将它输出到某个文件:

                            1》标准输出  >或>>

                                           ①>      输出到某个文件,如果文件不存在则创建文件,如果文件存在则清空文件写入。

                                            ②>>    输出到某个文件,如果文件不存在则创建文件,如果文件存在内容则追加写。

                            2》标准错误输出  2>或2>>

                                            ①2>     将错误信息输出到某个文件,如果文件不存在则创建文件,如果文件存在则清空文件写入。

                                            ②2>>   将错误信息输出到某个文件,如果文件不存在则创建文件,如果文件存在则追加写。

    2.垃圾桶黑洞:

                    上面我们可以看到,有错误信息的时候我们可以清空写或者追加写入错误信息,那么我们可不可以将错误信息不显示在屏幕,而且不写入到文件?有的那就是垃圾桶黑洞,比如我们随意输入一个命令:

                             cuowumingling      2>       /dev/null

                            cuowumingling       2>>    /dev/null

                                1》我们测试了清空写和追加写,运行命令之后查看/dev/null文件:

    空空如也的null文件

                                2》/dev/null文件会吃掉所有写入的数据,就像黑洞一样

    3.数据输入:

                    我们使用>>>输入文件的数据是系统生成的,当然我们也可以人为的输入。

                    1》将原来有键盘输入的数据,改由文件内容来替换:

                                mingling      >right_file     >>wrong_file   <data_file

                                     1》运行mingling,输入data_file中的数据,如果命令正确数据输入到right_file ,否则输入到wrong_file

                    2》<<'string'

                                     1》<<'string'代表结束的输入字符

                                     2》当输入数据是‘string’的时候就会结束当前输入,作用同【ctrl】+【d】

    4.数据流重定向应用场所:

                    1》屏幕输出的数据很重要,我们需要将它保存起来

                    2》后台执行的程序,我们不希望它干扰屏幕的输出结果

                    3》当我们知道某些命令会产生错误信息,想以【/dev/null】丢掉的时候

                    4》正确信息和错误信息需要分别输出的时候

    相关文章

      网友评论

          本文标题:LINUX----数据流重定向

          本文链接:https://www.haomeiwen.com/subject/dligdhtx.html