Linux 重定向操作

在 Linux 终端中,我们可以使用重定向(Redirection)操作,将命令的输出或错误信息保存到文件或设备中,方便后续分析和处理。


1. 标准输出与标准错误

Linux 中,命令的输出分为标准输出(stdout)和标准错误(stderr)

  • 标准输出(stdout):文件描述符 1 —— 命令正常执行时的输出。
  • 标准错误(stderr):文件描述符 2 —— 命令执行出错时的输出。

2. 常见重定向操作

2.1 仅重定向标准输出

命令 > 文件

🔹 以覆盖的方式,将标准输出保存到文件。

命令 >> 文件

🔹 以追加的方式,将标准输出保存到文件。


2.2 仅重定向标准错误

错误命令 2> 文件

🔹 以覆盖的方式,将标准错误保存到文件。

错误命令 2>> 文件

🔹 以追加的方式,将标准错误保存到文件。


2.3 同时重定向标准输出和标准错误

命令 &> 文件

🔹 以覆盖的方式,将标准输出标准错误同时保存到文件。

命令 &>> 文件

🔹 以追加的方式,将标准输出标准错误同时保存到文件。


2.4 分开存储标准输出和标准错误

命令 >> 文件1 2>> 文件2

🔹 标准输出追加保存到 文件1标准错误追加保存到 文件2


3. 示例演示

示例 1:将 ls 的输出保存到 output.txt

ls > output.txt

📌 output.txt 中将包含 ls 的输出内容。

示例 2:将 ls 执行错误保存到 error.log

ls nonexistent_folder 2> error.log

📌 error.log 将记录 ls 命令的错误信息(如 No such file or directory)。

示例 3:正确和错误信息都保存到 all.log

ls /etc /nonexistent_folder &> all.log

📌 all.log 中包含 ls /etc 的正确输出和 ls nonexistent_folder 的错误信息。

示例 4:正确信息追加到 output.log,错误信息追加到 error.log

ls /etc >> output.log 2>> error.log

📌 output.log 记录正确输出,error.log 记录错误信息,且不会覆盖之前的内容。


4. 总结

重定向操作说明方式
>仅重定向标准输出,覆盖文件覆盖
>>仅重定向标准输出,追加到文件追加
2>仅重定向标准错误,覆盖文件覆盖
2>>仅重定向标准错误,追加到文件追加
&>标准输出+标准错误,覆盖文件覆盖
&>>标准输出+标准错误,追加到文件追加
>> 文件1 2>> 文件2分别保存标准输出和标准错误到不同文件追加

💡 Tip: 使用 tee 命令可以同时输出到终端和文件,例如:

ls /etc | tee output.log

这样,你既能在终端看到 ls /etc 的输出,也能在 output.log 里找到相同的内容!🎯

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇