「2>&1」是什么意思?半个世纪的 Unix 谜题当你在终端输入 ls -l /tmp /nonexistent 2>&1 | grep error 时,是否曾疑惑这个 2>&1 到底是什么意思?它看起来像某种神秘代码,但其实只是 Unix 系统中一个看似简单实则复杂的重定向语法。50 年前的设计决策,至今仍在困扰着无数新手和老手。一位用户在 Hacker News 上吐槽道:「我仍然讨厌它。几乎就像有人让我解释它时那样讨厌。老兄,这破玩意又不是我发明的,我也不会说它有多棒,所以别冲我发火。」这种看似随意的符号组合,背后藏着计算机系统最基础的通信机制。