echo > 和 echo >>的区别

在操作系统中,我们经常会遇到命令操作符>(输出重定向)和>>(输出追加重定向)。

很多新手小伙伴在接触的时候,总是困惑输出重定向(>)和输出追加重定向(>>)的区别,下面小编就和大家一起分享,>和>>的区别。

百度经验:jingyan.baidu.com

工具/原料

 
  • windows或者linux

百度经验:jingyan.baidu.com

方法/步骤

 
  1. 这里小编就以windows为例(unix/linux也是一样)

    echo的作用:

    echo的作用其实很简单,就是打印字符串到输出文件流。

    例如:

    echo Hello,Binn

    如图,执行之后,终端会打印出echo的参数,即Hello,Binn

  2. >操作符输出重定向的作用:

    echo + 输出重定向的用法:

    echo 参数 > 输出文件

    echo Hello,Binn > tmp.txt

    这句话的意思即是:输出Hello,Binn字符串到一个位置,如果tmp.txt存在,我们即【清空其内容,更新为Hello,Binn】,不存在,创建之

    这个过程,echo没有像之前那样向终端打印参数,为什么?

    原因是因为,>输出重定向把echo的参数输出到某个文件(而不是输出到终端,这就是输出重定向)。

  3. 此时我们看看tmp.txt的内容。

    type tmp.txt

    (linux/unix请用cat)

    这是不是我们刚刚echo要输出的内容呢?没错,就是这个。

  4. 操作符>>输出追加重定向和>输出重定向功能类似。

    相同的地方是:如果重定向的文件不存在,创建之

    唯一不同的地方是:【如果重定向的文件存在,追加之(>符是清空后新增内容,>>是在文件末尾追加字符串)】

    我们这样做个试验,更容易理解。

    6步,仔细观察,很容易就能理解。

    1、输出重定向a到tmp.txt:

      echo Hello,A > tmp.txt

    2、查看tmp.txt的内容(此时的内容是A)

      type tmp.txt  

    3、输出重定向b到tmp.txt

      echo Hello,B > tmp.txt

    4、查看tmp.txt的内容(此时可以看到,>已经把A替换成B了)

      type tmp.txt

    5、输出追加重定向c到tmp.txt

      echo Hello,C >> tmp.txt

    6、查看tmp.txt的内容(此时可以看到,原来的字符串B并没有被替换,而是在B的下一行新增字符串C,即追加操作)

      type tmp.txt

    不多说,一步一步来。

  5. 第三步和第四步:

    3、输出重定向b到tmp.txt

      echo Hello,B > tmp.txt

    4、查看tmp.txt的内容(此时可以看到,>已经把A替换成B了)

      type tmp.txt

  6. 第五步和第六步:

    5、输出追加重定向c到tmp.txt

      echo Hello,C >> tmp.txt

    6、查看tmp.txt的内容(此时可以看到,原来的字符串B并没有被替换,而是在B的下一行新增字符串C,即追加操作)

      type tmp.txt

    做到这里相信小伙伴已经明白重定向和追加重定向的区别。

    END

猜你喜欢

转载自www.cnblogs.com/lh03061238/p/9942476.html