Linux中IO重定向与管道
1. 输入输出重定向
1.1 标准输出重定向
使用 >
符号将命令的标准输出重定向到文件:
date > date.txt
这将把 date 命令的输出保存到名为 date.txt
的文件中。
大多数进程中都有0,1,2,这三个文件描述符,0表示标准输入,可以理解为键盘输入;1表示标准输出,输出到终端;2表示标准错误,输出到终端;3以上表示为常规文件的描述符。其中,">"表示覆盖, ">>"表示追加。
1.2 标准错误输出重定向
使用 2>
符号将命令的标准错误输出重定向到文件:
cat nonexistent_file 2> error_log.txt
这将把尝试读取不存在文件的错误信息保存到名为 error_log.txt
的文件中。
1.3 标准输入重定向
使用 <
符号将文件内容作为命令的标准输入:
wc -w < input_text.txt
这将统计 input_text.txt
文件中的单词数量。
2. 管道
管道实际上也是一种重定向,重定向字符控制输出到文件,管道控制输出到其他程序。管道的作用是把上一个进程的输出作为下一个进程的输入,利用管道可以把若干个命令连接在一起。如下图所示:
使用 |
符号将一个命令的输出作为另一个命令的输入:
ps aux | grep "bash"
这将列出所有包含 "bash" 关键字的进程。
将/etc/passwd中的用户按UID数值大小排序并显示前3行。
sort -t " : " -k3 -n /etc/passwd | head -3
其中,-t指定字段分隔符,-k指定字段,-n表示按数值大小排序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具