Linux标准输入输出
文件描述符(File Descriptor): OS运行时,会为每一个进程维护一份 FD Table,这份表的每一个item记录进程已经打开文件的一些信息,以便对文件进行相关操作。 而文件描述符就是FD Table的Index。 Linux Shell也是一个进程,由父进程创建,并且沿用了父进程的一些文件描述符作为默认的文件描述符。 每新打开一个shell,总会设定固定的3个文件描述符0,1,2,分别代表标准输入,标准输出和标准错误输出
ll /dev/std*
0 -> /dev/stdin 1 -> /dev/stdout 2 -> /dev/stderr
ll /proc/self/fd #绑定文件描述符
exec 6>test_file
ll /proc/self/fd
ls -l 1>&6 #将命令ls的执行结果保存到test_file当中
cat <&6 #利用fd6,读取文件test_file内容
exec 6<>test_file #重新绑定fd6和test_file,可读可写
exec 6>&- #解除fd6与文件test_file绑定
#用cat创建一个文件,内容从键盘录入,CTRL+D结束
cat > file
cat >file< ~/.bashrc #文件代替标准输入
cat >file<<'eof'
testfile
eof
命令后的-:重定向到标准输入
echo ls | bash -s -
cat <<< ls 右边重定向到标准输入
cat << eof 右边是 token `newline' 键盘录入
cat < file 右边是文件的内容作为标准输入
📂 分类导航
- ▶ 学与练
- ▶ 课程库
-
▶
软件园
- ▶ AI智能体与应用
- ▶ 开发工具与环境
- ▶ AI 开发和编排
- 业务与生产力应用
- 软件安装脚本
- ▶ 工具箱
- ▶ 共享库
📰 最新文章
- 还在为服务器上的问题烦恼?有了智能终端,我再也不怕了!
- 告别 Token 焦虑,让 AI Agent 24 小时为你打工
- 在 CNB 平台部署 OpenClaw,API Key 免费用,30秒搞定!
- LinkUp:打破数据孤岛,新一代轻量级企业级数据集成平台深度解析
- 记一次投影连接网络存储
- 第6章 数据库集成
- 第5章 表单处理与验证
- 第4章 模板与静态文件
- 第3章 路由与视图
- 第2章 环境搭建与开发工具
- Redis完整教程
- 芋道包容网关条件研究
- docker怎样实现java不中断滚动升级
- go如何编译一个最小的exe
- 一键搭建专属知识库
- 自部署的私人云盘
- 变量声明
- PyWxDump:从零开始掌控你的微信数据——密钥获取、解密与可视化全攻略
- 搭建一个docker镜像缓存
- mtqq 服务搭建教程