IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> shell重定向 -> 正文阅读

[系统运维]shell重定向

前言

在编写shell脚本的时候, 可能这种命令经常写: command > ./a.log. 这段很容易理解, 就是将command命令的输出写入到a.log文件中. 但有时还需要处理输入流 或者错误流.

甚至于又时看到别人写的命令, 也有种看不懂的感觉, 比如 :

command 1>&- 2>/dev/null &

cat >1.txt<<EOF
文件内容
EOF

在经历了一段时间的困惑后, 决定好好看看重定向的具体方式.

介绍

先来简单介绍在重定向中用到的概念:

文件描述符:

  • 0: 标准输入流(stdin)
  • 1: 标准输出流(stdout)
  • 2: 错误输出流(stderr)

重定向管道:

  • >: 覆盖的方式写入
  • >>: 追加的方式写入
  • <: 输入流重定向

特殊符号:

  • &: 重定向时, 用于标记现有的流. 为了区分文件名和文件描述符.
    • 如: 2>&1, 意思是将错误输出流重定向到标准输出流的文件中
  • &-: 特殊标识, 将标识符关闭. 1>&-

使用方式:

  • [n]>a.log: 重定向到文件
  • [n]>&[m]: 将描述符n重定向到描述符m
  • <a.log: 从文件中读取输入

执行顺序, 对重定向按照从左到右的顺序进行解析, 通过下面的小例子, 应该可以很容易体会到顺序带来的影响. 区别如下:

image-20220509160457314

image-20220509160644109

好, shell的重定向就这么点东西, 介绍完了, 跟着例子简单体会一下吧.

例子

# 将命令的输出重定向到文件
command 1>a.log
# 重定向输出时, 若不写描述符, 默认为标准输出流
command >a.log
# 重定向的位置不重要
>a.log command
# 重定向输入流
0<1.txt cat
# 重定向输入时, 默认为标准输入流
<1.txt cat
# 标准输入关掉
exec 0<&-
# 将一段字符串作为输入
cat <<TAG
内容
TAG
# 将标准输出关闭, 效果与 1>/dev/null 相同
command 1>&-
# 丢弃标准输出和错误输出
command >/dev/null 2>&1

OK, 没了, 就这么点东西. 过完之后再去看那些花里胡哨的重定向就不至于一头雾水了.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-10 12:16:32  更:2022-05-10 12:17:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:40:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码