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有什么区别?
    |
    Linux
    linux syscall和int 80的区别
    通过以上内容,希望您能更清晰地理解 `int 0x80` 和 `syscall` 的区别及其在不同系统架构中的应用。
    1178 99
    |
    监控 Linux
    Linux命令大全:echo与tail实现输出重定向。
    这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
    422 27
    |
    11月前
    |
    存储 Ubuntu 安全
    Linux中Centos和Ubuntu的区别
    CentOS主要面向服务器环境,而Ubuntu适用于服务器和桌面环境。   CentOS提供更精简的安装,而Ubuntu提供更广泛的开箱即用功能。   CentOS遵循RHEL的所有安全实践,而Ubuntu在安全方面采取更积极的方法。
    |
    11月前
    |
    Ubuntu 安全 Unix
    Linux和Ubuntu有什么区别
    综上所述,Linux和Ubuntu之间存在明显的区别。Linux是一种操作系统内核,而Ubuntu是基于Linux内核的发行版本,具有更好的易用性、社区支持和软件仓库。用户可以根据自己的需求选择不同的Linux发行版本,如果需要一个稳定、易于使用的桌面环境,Ubuntu是一个不错的选择。如果需要更加灵活和定制性强的系统,其他Linux发行版本可能更加适合。
    |
    12月前
    |
    安全 Unix Java
    linux中kill -9和kill -15区别
    在 Linux/Unix 系统中,`kill -9` 和 `kill -15` 是终止进程的常用命令,核心区别在于发送的信号类型不同,导致进程终止行为截然不同。`kill -15`(SIGTERM)允许进程进行清理操作后优雅退出,适用于正常关闭;而 `kill -9`(SIGKILL)则强制终止进程,不给予任何清理机会,仅在进程无响应时使用。本文从信号类型、行为、工作原理及使用建议等方面进行详细对比,帮助你更安全、有效地管理进程。
    1654 0
    |
    安全 Linux 应用服务中间件
    在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
    在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
    |
    Linux 索引
    在Linux中,符号链接与硬链接有何区别?
    在Linux中,符号链接与硬链接有何区别?
    |
    缓存 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`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
    1813 25