在使用 Linux 命令行时,你是否曾想过:如何把命令的输出保存到文件?如何让错误信息不显示在屏幕上?或者如何同时查看和保存输出结果?这些问题的答案都藏在一个强大的功能中——输出重定向。
本教程将带你从零开始,一步步理解并掌握 Linux输出重定向 的核心概念和实用技巧,即使你是刚接触命令行的小白,也能轻松上手!
什么是输出重定向?
在 Linux 中,每个运行的程序都有三个默认的“数据流”:
- 标准输入(stdin):编号为 0,通常是键盘输入。
- 标准输出(stdout):编号为 1,通常是命令执行后的正常输出,显示在终端上。
- 标准错误(stderr):编号为 2,用于显示错误信息,也显示在终端上。
输出重定向 就是改变这些输出流的默认去向。比如,不让 stdout 显示在屏幕上,而是写入文件。
基本重定向符号
以下是几个最常用的重定向操作符:
1. >:覆盖写入文件
echo "Hello World" > output.txt 这条命令会把 “Hello World” 写入 output.txt 文件。如果文件已存在,内容会被覆盖。
2. >>:追加写入文件
echo "New line" >> output.txt 这次内容会被追加到文件末尾,不会删除原有内容。
3. 2>:重定向错误输出
ls /nonexistent 2> error.log 如果目录不存在,错误信息不会显示在终端,而是写入 error.log 文件。
高级技巧:组合使用
同时重定向标准输出和标准错误
有时你希望把正常输出和错误信息都保存到同一个文件:
command > output.log 2>&1 解释:2>&1 表示“把 stderr(2)重定向到 stdout(1)当前的位置”。因为前面已经把 stdout 指向了 output.log,所以错误也会写进去。
丢弃不需要的输出
如果你完全不想看到某些输出(比如后台任务的日志),可以丢弃到“黑洞” /dev/null:
command > /dev/null 2>&1 这样,无论是正常输出还是错误信息,都会被悄悄丢掉。
实用场景举例
- 日志记录:定时备份脚本可以把成功/失败信息写入日志文件,便于后续排查。
- 静默安装:在自动化部署中,避免屏幕被大量输出刷屏。
- 调试脚本:将中间结果保存下来,方便分析问题。
小结
通过本教程,你已经掌握了 Shell重定向 的基本用法和常见组合。记住:
>覆盖写入>>追加写入2>处理错误2>&1合并输出
这些技巧不仅能提升你的 Linux命令行技巧,还能让你在系统管理、自动化脚本编写中更加得心应手。多加练习,你会越来越熟练!
现在就打开你的终端,试试看吧!

