重新点亮shell————管道和重定向[二]
前言
简单介绍一下管道和重定向。
正文
- 管道和信号一样,是进程通信的方式之一
管道符是"|",将前一个命令执行的结果传递给后面的命令。
比如说:
ls -l | more
就是第一个的输入,然后给第二个的输入,这其实更好理解。
2.重定向符号
一个进程默认会打开标准输入、标准输出、错误输出三个文件的描述符。
a 输入重定向符号 "<"
read var < /path/to/a/file
b 输出重定向 ">" ">>" "2>" "$>"
echo 123 > /path/to/a/file
这里有4个不同的符号。
第一个符号是:> 这个表示清空里面的内容,然后填入新内容。
第二个符号:>> 这个是追加的意思。
第三个符号:2> 如果前面的命令产生错误才会输入进去。
第四个符号: $> 无论前面正确还是错误都输出到指定文件之中
c 输入和输出重定向组合使用
cat > /path/to/a/file << EOF
I am $USER
EOF
下面来演示一下重定向的命令了。
第一个 wc -l <,这个可以统计一个文件里面有多少行。
然后输入重定向:
echo "123" > /tmp/a.txt
然后我们进行追加:
echo "123" >> /tmp/a.txt
同样来输出错误的。
echo "123" 2> /tmp/a.txt
如果没有错误那么会被清空。
echo "123" 2>> /tmp/a.txt
这样就是追加了。
那我们来试一下错误的:
nocmd 2>> /tmp/a.txt
如果想无论是错误还是正确都输入到文件中去:
nocmd 2>> /tmp/a.txt
这样就行。
那么看下输入和输出有什么组合可以有新效果。
cat > /path/to/a/file << EOF
I am $USER
EOF
就是把I am $USER 输入到 /path/to/a/file中。
如果是追加的话,那么是:
cat >> /path/to/a/file << EOF
I am $USER
EOF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-12-25 不一样的享元模式(设计模式四)