惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News | PayPal Newsroom
Application and Cybersecurity Blog
Application and Cybersecurity Blog
O
OpenAI News
S
Security @ Cisco Blogs
宝玉的分享
宝玉的分享
Hacker News: Ask HN
Hacker News: Ask HN
T
Troy Hunt's Blog
Google Online Security Blog
Google Online Security Blog
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
TaoSecurity Blog
TaoSecurity Blog
Help Net Security
Help Net Security
Latest news
Latest news
NISL@THU
NISL@THU
S
Security Affairs
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
AI
AI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
小众软件
小众软件
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
AWS News Blog
AWS News Blog
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
I
InfoQ
Schneier on Security
Schneier on Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
IT之家
IT之家
T
Threatpost
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
腾讯CDC
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
L
LINUX DO - 最新话题
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
H
Heimdal Security Blog
S
SegmentFault 最新的问题

毛俊的博客

离线编译并安装 Python 3.7 - 毛俊的博客 对终身会员软件停止服务的思考总结 - 毛俊的博客 Vue3项目搭建的4种方式 - 毛俊的博客 Kubernetes及其生态介绍和使用 - 毛俊的博客 MPV播放器默认快捷键 - 毛俊的博客 Markdown导出带大纲目录的Html - 毛俊的博客 Windows设置操作URI指令 - 毛俊的博客 极简生活可以尝试的实践 - 毛俊的博客 《不持有的生活》读书摘录 - 毛俊的博客 艾宾浩斯遗忘曲线复习计划表 - 毛俊的博客 Google搜索技巧 - 毛俊的博客 GitHub搜索技巧 - 毛俊的博客 运动类影视剧集清单 - 毛俊的博客 常用软件清单 - 毛俊的博客 COCA 20000词根词汇练习 - 毛俊的博客 少吃或不吃的食物 - 毛俊的博客 美军两分钟睡眠法 - 毛俊的博客 健康食物清单 - 毛俊的博客 Git客户端工具GitUi安装及使用 - 毛俊的博客
Shell中的错误重定向和标准重定向 - 毛俊的博客
毛 俊 · 2024-07-08 · via 毛俊的博客

错误重定向和标准重定向

在Unix/Linux系统中,错误重定向和标准输出重定向的语法如下:

  1. 标准输出重定向(将标准输出保存到文件):

    1
    command > file

    这将 command 的标准输出重定向到名为 file 的文件中。如果文件不存在,它将被创建;如果文件已经存在,它将被覆盖。

  2. 标准错误重定向(将标准错误保存到文件):

    1
    command 2> file

    这将 command 的标准错误重定向到名为 file 的文件中。

  3. 同时重定向标准输出和标准错误到同一个文件:

    1
    command > file 2>&1

    这将 command 的标准输出和标准错误都重定向到名为 file 的文件中。2>&1 表示将标准错误重定向到与标准输出相同的地方。

  4. 在标准输出和标准错误都附加到同一个文件(不会覆盖):

    1
    command >> file 2>&1

    这将 command 的标准输出和标准错误都附加到名为 file 的文件中,而不覆盖文件内容。

  5. 丢弃标准输出或标准错误:

    • 丢弃标准输出:

      1
      command > /dev/null
    • 丢弃标准错误:

      1
      command 2> /dev/null
  6. 同时丢弃标准错误和标准输出,使用如下的语法:

1
command > /dev/null 2>&1

这将把 command 的标准输出(1)重定向到 /dev/null,同时将标准错误(2)重定向到与标准输出相同的位置。结果是标准输出和标准错误都将不会在终端显示,也不会保存到文件中。

command > /dev/null 2>&1 和&>/dev/null的区别

command > /dev/null 2>&1&>/dev/null 都可以用来将标准输出和标准错误重定向到 /dev/null,从而达到静默化输出的目的。

  1. command > /dev/null 2>&1 使用两个不同的重定向操作符,首先将标准输出重定向到 /dev/null,然后再将标准错误重定向到与标准输出相同的位置。
  2. &>/dev/null 使用一个单一的重定向操作符,将标准输出和标准错误一起重定向到 /dev/null

从功能上来说,两者是等效的,它们都可以实现相同的效果。

但在可读性方面,&>/dev/null 更加简洁,因为它一次性将标准输出和标准错误都重定向到相同的地方,而不需要多个操作符。

(完)