IO重定向及管理
程序: 指令+数据
程序:io
可用与输入的设备:文件
键盘设备、文件系统上的常规文件、网卡等
可用于输出设备:文件
显示器、文件系统上的常规文件、网卡等
程序的数据流有三种:
输入的数据流 <-- 标准输入(stdin),键盘:
输出的数据流--> 标准输出(stdout),显示器:
错误输出流: --> 错误输出(stderr):显示器:
fd: file descriptor,文件描述符
标准输入:0
标准输出:1
错误输出:2
IO重定向:
输出重定向: >
特性:覆盖输出
输出重写向 >>
特性:追加输出
# set -C
禁止覆盖输出重定向至已存在的文件(仅在当时shll环境有效)
强制覆盖输出可用:>|
# set+C
关闭上述特性
错误输出流重定向 2> ,2>>
合并正常输出流和错误输出流:
&>,$>>
COMMAND > /PATH/FROM/SOMEDILE 2>&1
COMMAND > >/PATH/FROM/SOMEDILE 2>&!
输入重定向: <
tr命令
tr ts1 ts2 把ts1当中的字符,对位替换成ts2
用法1:tr ts1 ts2 < /PATH/FROM/SOMEDILE
用法2:tr -d ts1< /PATH/FROM/SOMEDILE
tr
注意:不修改原文件
<<
cat << EOF
cat > /PATH/TO/SOMEFILE << EOF
管道:连接程序,实现将前一个命令的输出之间定向后一个程序当作输入
tee命令 将数据分方向发送
COMMAND | tee /path/to/somefile/
将command结果输出至屏幕上并且又保存至指定文件
练习1:吧/etc/passwd文件前6行的信息转换为大写字符后输出:
head -n 6 /etc/passwd | tr ‘a-z’ ‘A-Z’
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了