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

ops/2024/9/23 10:29:47/
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.ppmy.cn/ops/53168.html

相关文章

python循环结构

1.while 循环 语句&#xff1a; while 循环条件表达式&#xff1a; 代码块 else&#xff1a; 代码块 小练&#xff1a; 设计一百以内的偶数相加 n 0 while n < 100:n 1if n % 2 0 :print(n) 判断是不是闰年&#xff08;四年一润和百年不润&#xff0c;或者四百年一润&am…

C++观察者模式

一、定义 观察者&#xff08;Observer&#xff09;模式 定义如下&#xff1a;是一种对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。 二、观察者模式组成&#xff1a; 抽象目标角色&#xff08…

Redis 内存碎片是什么?如何清理?

Redis 内存碎片相关的问题在得物、美团、阿里、字节、携程等公司的后端面试中都曾出现过&#xff0c;还是建议认真准备一下。即使不是准备面试&#xff0c;日常开发也是能够用到的&#xff01; 什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存。 举个例子&…

Java学习:第九章接口

★ 抽象方法和抽象类 ★ 接口 ★ 策略设计模式和适配器设计模式 抽象类和抽象方法&#xff1a; 1、 抽象方法 ★ 使用关键字 abstract修饰的方法称为抽象方法, 仅有方法声明没有方法体。 2、 抽象类 ★包含抽象方法的类称为抽象类&#xff0c;必须也用abstrac…

思科路由器密码恢复方法

1.密码恢复原理 Cisco路由器保存了几种不同的配置参数&#xff0c;并存放在不同的内存模块中。 Cisco系列路由器的内存有&#xff1a;ROM&#xff0c;闪存&#xff08;Flashmemory&#xff09;,RAM&#xff0c;不可变RAM和动态内存&#xff08;DRAM&#xff09;等5种。 一般情况…

批量打造怀旧风情:视频批量剪辑将现代视频打造成怀旧经典老视频效果

在繁忙的现代生活中&#xff0c;我们时常怀念那些旧时光&#xff0c;那些充满岁月痕迹的老电影片段。它们不仅记录了一个时代的风貌&#xff0c;更承载了无数人的情感与记忆。你是否想过&#xff0c;将现代的视频素材打造成这种怀旧经典的老视频效果&#xff0c;让每一帧都充满…

基于C++标准库实现定时器类

基于C标准库实现定时器类 定时器类是多线程编程中经常设计到的工具类 简单的定时器原理其实很简单&#xff08;是不是有点GNU is not unix的味道;&#xff09;&#xff1a; 创建一个新线程在那个线程里等待等待指定时长后做任务 python标准库中就有这么一个定时器类&#xf…

【FFmpeg】AVFrame结构体

【FFmpeg】AVFrame结构体 1.AVFrame结构体的定义enum AVPictureType pict_typeAVFrameSideData **side_data 参考&#xff1a; FFMPEG结构体分析&#xff1a;AVFrame 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调…