LINUX----数据流重定向

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

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   

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

                2》<<'string'

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

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

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

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

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

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

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

你可能感兴趣的:(LINUX----数据流重定向)