• 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 来结束

    制作镜像

  • 相关阅读:
    【juc学习之路第8天】Condition
    PodMan容器技术
    【MySql】数据库的聚合查询
    【JavaEE】博客系统【前后端分离版本】
    PySpark数据分析基础:pyspark.SparkConf核心类详解+代码示例
    Redash大屏视图样式(中)
    ovs dpdk debug
    跨域访问时SameSite设置级别导致的SetCookie失败的问题分析及解决
    node.js笔记
    全国计算机四级之网络工程师知识点(五)
  • 原文地址:https://blog.csdn.net/nianwan2157/article/details/140052497