Linux——数据流和重定向,制作镜像

1. 数据流
标准输入( standard input ,简称 stdin ):默认情况下,标准输入指从键盘获取的输入
标准输出( standard output ,简称 stdout ):默认情况下,命令执行所回传正确的信息会输出到屏幕上
标准错误输出( standard error output ,简称 stderr ):默认情况下,标准错误输出可理解为命令执行失
败后,所回传的错误信息会输出到屏幕上
不管正确或错误的数据都是默认输出到屏幕上,所以屏幕是混乱的。所以就需要用数据流重定向将这两条
数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去,而分别传送所
用的特殊字符如下所示:
标准输入( stdin ):代码为 0
标准输出( stdout ):代码为 1
标准错误输出( stderr ):代码为 2
2. 重定向操作符
概念
重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。
重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
符号
输出重定向操作符: > >>
输入重定向操作符: < <<
用法
命令 > 文件 或 命令 1 > 文件 : 将命令执行后的结果不在默认的屏幕上显示,而是以覆盖的方式写入到指定文
件中,若指定的文件不存在,则自动创建该文件
命令 2 > 文件 : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件
中,若指定的文件不存在,则自动创建该文件
命令 2 >/dev/null : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件(黑
洞)中,即将输出的错误信息丢弃掉
命令 &> 文件 命令 >& 文件 : 将命令执行后的正确输出信息和错误信息不在默认的屏幕上显示,而是以覆盖
的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 >> 文件 : 将命令执行后的正确输出信息以追加的方式写入到指定的文件中,不覆盖原文件内容,若指定
的文件不存在,则自动创建该文件
命令 < 文件 : 使命令从指定的文件中读取数据作为输入
命令 << 结束标识字符串 : 在命令行读取数据作为输入,直到遇到指定的结束标识字符串
4. 输出重定向案例
1 :输出重定向(覆盖)
[root@server ~]# date > date.txt
[root@server ~]# cat date.txt
2024年 06月 28日 星期五 20:33:52 CST
[root@server ~]# 
 
2 :输出重定向(追加)
[root@server ~]# cal 6 2024 >> date.txt
[root@server ~]# cat date.txt
2024年 06月 28日 星期五 20:33:52 CST
      六月 2024     
一 二 三 四 五 六 日
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
                    
[root@server ~]# 
 
例3:错误输出重定向
[root@server ~]# ls /home
nianwan  tom
[root@server ~]# ls /homee
ls: 无法访问 '/homee': 没有那个文件或目录
[root@server ~]# ls /homee > list.txt
ls: 无法访问 '/homee': 没有那个文件或目录
[root@server ~]# cat list.txt
[root@server ~]# ls /homee 2> list.txt    # 错误信息重定向
[root@server ~]# cat list.txt
ls: 无法访问 '/homee': 没有那个文件或目录
[root@server ~]# 
4 :正确和错误信息都重定向
[root@server ~] # ls /homeee &> list.txt # 混合输出
5 :重定向到空设备 /dev/null
6 :重定向到黑洞,正确和错误都不显示
[root@server ~] # echo "123456" | passwd --stdin root &> /dev/null
.5. 输入重定向
1 :从文件中读取数据作为cat命令的数据来源
2 :标准输入重定向<< 并不表示追加,而是表示输入结束的意思即作为一个结束符
# 输入 end 终止输入,不需要按下 ctrl+d 来结束

制作镜像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【保姆级详细介绍JavaScript初识及基本语法】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

匠芯创工业级芯片选型和应用

一、公司简介 广东匠芯创科技有限公司成立于2019年&#xff0c;总部位于珠海横琴&#xff0c;并于珠海高新、深圳、广州设立研发及市场销售中心。作为中国工业控制芯片的研发初创企业&#xff0c;匠芯创科技立足于RISC-V SoC芯片设计、工业控制、多媒体人机交互、人工智能等核…

elementplus自动导入配置,vite项目

自动导入组件和图标配置, 这些配置项其实看官网的也是可以的,不过配置图标的时候有个重要的依赖iconify-json/ep ,官网没提, 也是很容易被忽略的一个依赖,缺了这个依赖,图标的自动导入是没有效果的, 下载依赖 "dependencies": {"element-plus/icons-vue": …

用C/C++写一个客户端和服务器之间进行TCP通信的DEMO

目录 一、Visual Sudio 2022 二、配置 三、说明 四、客户端 五、服务端 六、演示 一、Visual Sudio 2022 Visual Studio 2022是微软公司推出的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;旨在为开发人员提供全面的工具集&#xff0c;支持从Windows到MacOS…

《Redis设计与实现》阅读总结-4

第 17 章 集群 Redis集群是Redis提供的分布式数据库方案&#xff0c;集群通过分片&#xff08;sharding&#xff09;来进行数据共享&#xff0c;并提供复制和故障转移的功能 一、命令 CLUSTER MEET命令&#xff1a;用来连接不同的开启集群支持的 Redis 节点&#xff0c;以进入…

计算机网络之体系结构

上节内容&#xff1a;数据通信原理 1.计算机网络体系结构 体系结构: 研究系统中各组成成分及其关系的一门学科。 计算机网络体系结构: 定义和描述一组用于计算机及其通信设施之间互连的标准和规范的集合&#xff0c;遵循这组规范可以很方便地实现计算机设备之间的通信。 相互…

逻辑回归模型模拟实现:从零开始

引言 逻辑回归是一种用于二分类问题的机器学习算法。尽管它的名字中有“回归”&#xff0c;但它实际上是用于分类的。在本文中&#xff0c;我们将通过模拟数据来演示逻辑回归模型的实现。 逻辑回归简介 逻辑回归通过使用逻辑函数&#xff08;通常是Sigmoid函数&#xff09;将…

【技术指南】稳压器(电压调节器):原理、类型及其实际用用案例

电压调节器&#xff08;稳压器&#xff09;是一种电子器件或电路&#xff0c;用于控制电路中的电压水平&#xff0c;以确保在电源电压波动或负载变化时&#xff0c;输出电压能够保持在设定的稳定水平。它们通常用于各种电子设备和电源系统中&#xff0c;以提供稳定的电压供应。…

双路视频同屏显示(拼接)-基于野火Zynq7020开发板

前情提要 米联客FDMA驱动OV5640摄像头—基于野火Zynq7020开发板 本文在此基础上&#xff0c;实现了双路视频拼接。将ov5640输出的1024600的图像数据缩放为512600&#xff0c;分两路写入ddr3&#xff0c;并且显示在1024*600的RGB屏幕中。 纯FPGA也可以按此方法实现。 总体BLOC…

Typora 2024 安装教程

本章教程&#xff0c;介绍一下如何使用Typora 最新版本1.9.4&#xff0c;仅供学习交流&#xff0c;切勿滥用。 一、下载安装包 下载地址&#xff1a;https://www.alipan.com/s/8pvKf5ns6GH 当然&#xff0c;你也可以去官网下载&#xff0c;但是官网有可能随时更新&#xff0c;该…

【Sklearn-LR驯化】一文搞懂分类基石模型-逻辑回归使用总结

【Sklearn-驯化】一文搞懂分类基石模型-逻辑回归使用总结 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档关注&#xf…

Dart 中 final 和 const的 区别

在 Dart 中&#xff0c;final 和 const 都用于定义常量&#xff0c;但它们之间有一些关键区别。让我详细解释一下。 final 关键字 final 关键字用于定义一个在运行时确定其值的变量&#xff0c;一旦赋值&#xff0c;就不能更改。final 变量可以在构造函数中赋值。 示例 voi…

群晖NAS上搭建 Git Server

1.首先在群晖的DSM的控制面板中创建一个用户例如是test 2.在套件中心安装 Git server 3.打开Git server 勾选用户 test 4.在控制面板的“终端机和SNMP”中启动SSH功能 5.在控制面板的共享文件夹中创建一个文件夹&#xff0c;例如 "GitRepo"&#xff0c;也就是仓库…

maven 根据不同环境,走不同的实现(多种环境组合)

​ 原因&#xff1a; 线上程序同时支持人大金仓和mysql&#xff0c;且支持根据环境动态选择 java JCE 的实现方式前期已完成 springboot 从mysql 迁移人大金仓 -kingbase &#xff1a;https://blog.csdn.net/qq_26408545/article/details/137777602?spm1001.2014.3001.5502 …

dataX同步SQLserver到MySQL数据

引用datax官方描述&#xff1a; DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS…

Vue.js 中的API接口封装实战与详解

在开发Web应用的过程中&#xff0c;我们常常需要和服务器进行数据交互&#xff0c;这就涉及到了API接口的调用。在Vue.js项目中&#xff0c;为了提高代码复用性、可维护性和降低错误率&#xff0c;我们将API接口进行合理的封装显得尤为重要。本文将详细介绍如何在Vue.js项目中实…

Qt的事件循环机制源码分析

Qt 使用了一个事件模型来与操作系统沟通&#xff0c;处理诸如鼠标点击、键盘输入等用户动作。以下步骤详细解释了从操作系统捕捉鼠标点击事件到 Qt 处理该事件的过程&#xff1a; 1、事件处理过程 1.1、Qt 的事件循环 Qt 应用程序运行时会启动一个事件循环&#xff08;QEven…

商城积分系统的设计方案(中)-- 数模设计

一、总体设计 积分和积分渠道&#xff0c;实现积分种类和发放的动态配置&#xff0c;是设计中的关键之处。 积分订单表是不必要的&#xff0c;视具体业务需求而定。 积分账户和账户收支是核心的两个表。 后面三个表都有一个school_id&#xff0c; 其实就是租户编号&#xff…

PointMamba: A Simple State Space Model for Point Cloud Analysis

1. 论文基本信息 2. 创新点 介绍了第一个状态空间模型 PointMamba&#xff0c;将其应用与点云分析。PointMamba 表现出令人印象深刻的能力&#xff0c;包括结构简单性&#xff08;例如&#xff0c;vanilla Mamba&#xff09;、低计算成本和知识可迁移性&#xff08;例如&#…

如何将编译过的C++库迅速部署在Visual Studio新项目中

本文介绍在Visual Studio中&#xff0c;通过属性表&#xff0c;使得一个新建解决方案中的项目可以快速配置已有解决方案的项目中各类已编译好的C第三方库的方法。 例如&#xff0c;我们现有一个解决方案&#xff0c;其中的一个项目需要调用Armadillo、OpenCV等多个不同的C第三…