Linux 重定向: >和>>的区别,2>&1解释:

简介: Linux 重定向: >和>>的区别,2>&1解释:

 >和>>的区别:

参考大佬简单明了总结:点我传送

Linux 中,>和>> 都是将内容重定向输出到指定文件中,区别在于:

">"  :将正确命令信息输出到文件中(覆盖原内容)

"&>":将正确的和错误信息都输出到文件中

">>":将命令信息追加到文件中(原文件末尾继续追加内容)

"<"  :和">"相反,表示输入

使用Linux命令实现A.txt与b.txt合并为c.txt。c.txt不存在,合并完要删除A.txt与b.txt。

cat  A.txt >> c.txt
cat  b.txt>>c.txt
rm A.txt
rm b.txt

image.gif

示例如下:

image.gif编辑

执行效果:

第1句命令,会创建test.txt文件,并将abc写到文件中;

第2句命令,会在文件末尾,追加写入内容123;

第3句命令,会覆盖原有文件,重新写入内容def。

2>&1解释:

参考:Linux中标准输入输出解释2>&1

2>&1 :意思就是将标准错误也输出到标准输出当中

    • 0:标准输入stdin
    • 1:标准输出stdout(重定向符号>默认是1)
    • 2:标准错误输出

    示例:

     ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;

     ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;

     ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;

     ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。

    试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;

    换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

    目录
    相关文章
    |
    Linux Shell
    在Linux中,umask 和 ulimit有什么区别?
    在Linux中,umask 和 ulimit有什么区别?
    |
    4月前
    |
    监控 Linux
    Linux命令大全:echo与tail实现输出重定向。
    这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
    147 27
    |
    6月前
    |
    Unix Linux 编译器
    windows下和linux下cmake的规则有区别吗
    通过合理使用CMake的条件逻辑和平台特定的配置选项,开发者可以编写更加灵活和健壮的CMake脚本,确保项目在Windows和Linux上的一致性和可移植性。
    314 76
    |
    7月前
    |
    Linux
    linux syscall和int 80的区别
    通过以上内容,希望您能更清晰地理解 `int 0x80` 和 `syscall` 的区别及其在不同系统架构中的应用。
    423 99
    |
    7月前
    |
    缓存 Ubuntu Linux
    Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
    通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
    652 25
    |
    安全 Linux 应用服务中间件
    在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
    在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
    |
    Linux 索引
    在Linux中,符号链接与硬链接有何区别?
    在Linux中,符号链接与硬链接有何区别?
    |
    9月前
    |
    Linux Android开发 开发者
    linux m、mm、mmm函数和make的区别
    通过理解和合理使用这些命令,可以更高效地进行项目构建和管理,特别是在复杂的 Android 开发环境中。
    380 18
    |
    12月前
    |
    监控 Linux
    Linux系统中du命令与df命令的区别与用法
    总的来说,`du` 和 `df` 在磁盘管理中互补使用,能够提供全面的磁盘空间使用信息,帮助用户和管理员有效地监控和管理系统资源。
    355 3
    |
    缓存 Java 应用服务中间件
    在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?
    在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?