当前位置: 首页 > news >正文

漫谈由标准输入\输出\错误输出引发的思考

标准输入|输出|错误输出

Unix\Linux体系中,一个进程通常自带有标准输入、标准输出、标准错误输出等三个文件描述符。

如果从对称的观点来看,它确实长的有点奇怪,但它背后隐藏了什么样的知识和道理呢?

从图灵机模型谈起

以前谈到现在计算机背后的理论结构是图灵机,而图灵机模型仅需要左右两边的纸带,其实可以直接对应输入和输出。

那么多出来的标准错误输出是做什么的呢?

从程序的运行期输出结构谈起

我们知道,一个程序在运行期不携带日志系统通常是无法想象的,但是,一般程序又有自己的输出数据,而日志信息是明显有区别于这些输出协议数据。

这个在Unix\Linux体系中典型程序ssh中,明显区分了标准错误输出和标准输出的不同,以利于运行期信息和数据的分别输出,见ssh的scp模式

# 甚至可以日通过管道组合命令,避免scp过程中间文件的形成
ssh user@remotehost 'cat > remotefile' < localfile
ssh user@remotehost 'cat remotefile' > localfile

另外,特别在Shell编程中,经常通过管道或者IO重定向组合拼接命令。如果命令运行过程中,出现某些提示或错误信息,可以能够标准错误输出对应的控制台或终端,及时展现将是非常方便的。

它山之石

通过阅读一些网络E文,感觉Unix\Linux体系特别地具有标准输出错误文件描述符,可能来自传统实践,和shell编程上的便利。

我们通常也可以看到,如果程序的标准输出也是日志信息的情况下,在日志收集的时间,采用1>log.txt 2>&1 or &>log.txt的命令语法,将标准输出和错误输出都指向相同的目的。


谈谈普适图灵机

在一系列图灵机中,有一类的图灵机具有普适的特点,我们称其为普适图灵机

这类图灵机的核心就是可以将其它图灵机的控制转移函数作为自己的输入,然后再去模拟那个图灵机的行为。

如果从学习的观点来看,这其实就相当于学习过程,增强了个人能力,所以,才能普适。

如果从递归的观点来看,这其实就相当于无穷套娃的能力。需要指出的是,在可计算性理论模型上,图灵机理论与递归理论被认为是等价的计算模型。

不严格地说明,普适图灵机正是展现了递归特点,图灵机的图灵机。

特别思考

可计算模型界定的问题是什么是可计算,和什么是不可计算。

可计算模型中计算的涵义,与我们通常认为的计算有细微的区分,但都包括我们普通意义上的计算。

可认为可计算模型中的计算,是计算的尽头;它之外是不可计算!


某些特殊命令

某些特殊命令,不单单从命令参数接受参数,也可以从标准输入接受参数,但,例如,catmd5sum只能从标准输入传入字符串参数,则需要here documenthere string技术。

cat << _EOF_
<html>
...
</html>
_EOF_cat <<< 'Hello world'
md5sum <<< 'aaa'

对比来看,tar命令明显地区分了标准输入参数和标准输出参数时的涵义。特别地,tar命令通过’-'符号来约定指明。

  • 可以看到’-'符号并不专门指代标准输入或标准输出,而是命令的一种处理约定

If you use ‘-’ as an archive-name, tar reads the archive from standard input (when listing or extracting files),
or writes it to standard output (when creating an archive).
If you use ‘-’ as an archive-name when modifying an archive, tar reads the original archive from its standard input and writes the entire new archive to its standard output.

参考

  • Tar对于’-'符号作为标准输入和输出的约定处理

相关文章:

漫谈由标准输入\输出\错误输出引发的思考

标准输入|输出|错误输出 在Unix\Linux体系中&#xff0c;一个进程通常自带有标准输入、标准输出、标准错误输出等三个文件描述符。 如果从对称的观点来看&#xff0c;它确实长的有点奇怪&#xff0c;但它背后隐藏了什么样的知识和道理呢&#xff1f; 从图灵机模型谈起 以前…...

利用 IDEA 快速管理 k8s 集群

简介 前置条件&#xff1a; minikube 已安装&#xff0c;JetBrains k8s 官方插件已安装&#xff0c;Helm 已安装&#xff0c;kubectl 已安装 打开插件面板 检查可执行文件 添加配置文件 添加集群 验证...

【自然语言处理】实验三:新冠病毒的FAQ问答系统

目录 前言 1.新建data_process.py 1.1导入包并定义功能模块1用来读取问题和答案FAQ的文件 1.2功能模块2&#xff1a;进行问题/问题列表处理&#xff08;正则化&#xff0c;分词&#xff09; 1.3功能模块3&#xff1a;处理输入的问题 1.4功能模块4&#xff1a;计算输入问题与问题…...

「C++系列」文件和流

【人工智能教程】&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站&#xff1a;【人工智能教程】 文章目录 一、文件和流1. 文件操作① 打开文件② 读写文件 2. 流操作 二、应…...

视频美颜SDK核心功能解析:打造高效直播美颜工具方案详解

随着直播行业的迅猛发展&#xff0c;用户对于直播画质和个人形象的要求越来越高。视频美颜SDK作为一项关键技术&#xff0c;已经成为各大直播平台和短视频应用的重要组成部分。通过实时美颜技术&#xff0c;用户能够在直播过程中呈现出更加理想的形象&#xff0c;从而提升直播体…...

深入解析:高性能 SSE 服务器的设计与实现

在当今的实时 Web 应用中&#xff0c;服务器发送事件&#xff08;Server-Sent Events&#xff0c;SSE&#xff09;技术扮演着越来越重要的角色。今天&#xff0c;我们将深入探讨一个用 Go 语言实现的高性能 SSE 服务器的设计和实现细节。这个服务器不仅能够处理大量并发连接&am…...

C#为任意组件开发登录功能的记录

非常简单&#xff0c;直接给出代码&#xff1a; 数据库操作类 这个无需多言就是简单的包含了数据操作的内容&#xff0c;允许你在这一个类中写完关于本地数据库或者云数据库操作的逻辑&#xff0c;与登录逻辑分开哦。 注意&#xff0c;如果你的软件要给别人运行使用&#xf…...

AI免费UI页面生成

https://v0.dev/chat v0 - UI设计 cursor - 编写代码 参考&#xff1a;https://www.youtube.com/watch?vIyIVvAu1KZ4 界面和claude类似&#xff0c;右侧展示效果和代码 https://pagen.so/...

2024新动态:低代码开发占领新常态市场

随着技术的不断进步和数字化转型的加速&#xff0c;企业对于快速开发和部署应用程序的需求日益增长。2024年&#xff0c;低代码开发平台已经成为新常态市场的重要力量&#xff0c;它通过简化应用程序的开发过程&#xff0c;让非技术背景的业务用户也能参与到软件开发中来&#…...

【SQL 用大白话描述事务并发 可能会遇到的问题】及解决策略

在SQL数据库中,当多个事务同时进行时,可能会出现并发事务问题。这些问题通常包括以下几种: 首先,我们要清楚一点,这些问题都是与事务的四大特性之一的隔离性有关。并且通常发生在并发事务场景中。 脏读(Dirty Read): 脏读发生在一个事务读取了另一个事务未提交的数据。…...

nginx安装及vue项目部署

安装及简单配置 在usr/local下建好nginx文件夹&#xff0c;下载好nginx-1.26.2.tar.gz压缩文件.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel pcre-devel gcc、gcc-c # 主要用来进行编译相关使用 openssl、ope…...

第十三周:机器学习笔记

第十三周周报 摘要Abstract一、机器学习——Transformer&#xff08;上&#xff09;1. Sequence to Sequence(Seq 2 Seq&#xff0c;序列到序列模型) 的应用2. Transformer的结构2.1 Transformer encoder&#xff08;Transformer 编码器&#xff09; 二、Pytorch学习1. 网络模型…...

HarmonyOS学习(十三)——数据管理(二) 关系型数据库

文章目录 1、基本概念2、运行机制3、默认配置与限制4、接口说明5、实战&#xff1a;开发“账本”5.1、创建RdbStore5.2、创建数据库5.3、增加数据5.4、删除数据5.5、修改数据5.6、查询数据5.7、备份数据库5.8、恢复数据库5.9、删除数据库 官方文档地址&#xff1a; 通过关系型…...

【工具变量】科技金融试点城市DID数据集(2000-2023年)

时间跨度&#xff1a;2000-2023年数据范围&#xff1a;286个地级市包含指标&#xff1a; year city treat post DID&#xff08;treat*post&#xff09; 样例数据&#xff1a; 包含内容&#xff1a; 全部内容下载链接&#xff1a; 参考文献-pdf格式&#xff1a;https://…...

import torch import torchIllegal instruction的可能解决方法

It is numpy 1.19.5 issue. You can fix it by installing previous minor version. pip3 install numpy1.19.4 参考自&#xff1a;Illegal instruction (core dumped) - Jetson & Embedded Systems / Jetson TX2 - NVIDIA Developer Forums...

[SDX35+WCN6856]SDX35 + WCN6856 WiFi导致系统crash问题分析及解决方案

SDX35 SDX35介绍 SDX35设备是一种多模调制解调器芯片,支持 4G/5G sub-6 技术。它是一个4nm芯片专为实现卓越的性能和能效而设计。它包括一个 1.9 GHz Cortex-A7 应用处理器。 SDX35主要特性 ■ 3GPP Rel. 17 with 5G Reduced Capability (RedCap) support. Backward compati…...

力扣题解2376

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述&#xff08;困难&#xff09;&#xff1a; 统计特殊整数 如果一个正整数每一个数位都是 互不相同 的&#xff0c;我们称它是 特殊整数 。 给你一个 正 整数 n &#xff0c;请你返回区间 …...

浅谈计算机视觉的学习路径1

计算机视觉&#xff08;Computer Vision, CV&#xff09;是人工智能领域的一个重要分支&#xff0c;它的目标是使计算机能够像人类一样理解和处理图像和视频数据。 面向想要从事该方向的大学生&#xff0c;笔者这里给出以下是关于计算机视觉的学习路径建议&#xff1a; 简要了解…...

VScode C语言中文乱码问题解决

&#x1f389; 前言 省流&#xff1a;这不是正经的教学&#xff0c;纯属是作者弱智操作导致的乱码问题&#xff0c;绝不是是什么配置原因导致的。 &#x1f389; 问题描述 贴一下我写的C语言代码&#xff08;太久没写了&#xff0c;最近学数据结构才拾起来&#xff09; #in…...

安全基础学习-AES128加密算法

前言 AES&#xff08;Advanced Encryption Standard&#xff09;是对称加密算法的一个标准&#xff0c;主要用于保护电子数据的安全。AES 支持128、192、和256位密钥长度&#xff0c;其中AES-128是最常用的一种&#xff0c;它使用128位&#xff08;16字节&#xff09;的密钥进…...

【DeepSeek-R1代码相似度引擎解密】:3层语义比对机制、Token归一化偏差修正与Jaccard阈值黄金分割点

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek代码重复检测 DeepSeek-R1 模型在训练过程中引入了严格的代码去重机制&#xff0c;其核心目标是消除训练语料中语义等价或高度相似的代码片段&#xff0c;从而提升模型对真实编程模式的学习能力与泛化…...

别再只测accuracy!DeepSeek集成测试必须监控的5个隐性指标(P99首token延迟、context bleed率、tool-call schema漂移)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek集成测试的核心范式演进 DeepSeek大模型的工程化落地对集成测试提出了全新挑战&#xff1a;传统基于接口响应码与字段校验的测试范式已难以覆盖语义一致性、推理链鲁棒性、上下文敏感度等高阶质…...

从CTF题看RSA安全:为什么你的密钥不能‘共享素数’?

从CTF实战看RSA密钥安全&#xff1a;那些年我们踩过的坑 在网络安全竞赛和实际渗透测试中&#xff0c;RSA算法的错误实现方式往往成为突破的关键点。本文将通过典型CTF赛题案例&#xff0c;揭示五种常见RSA实现漏洞背后的数学原理和安全启示&#xff0c;帮助开发者在实际项目中…...

Claude端到端测试设计:从零搭建可审计、可回放、可量化的AI服务测试流水线(含开源Schema校验工具)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Claude端到端测试设计 端到端测试是验证Claude模型在真实用户交互链路中行为一致性的关键手段。它覆盖从原始提示输入、上下文管理、流式响应生成&#xff0c;到输出解析与业务校验的全路径&#xff0c;确保模…...

从游戏引擎到仿真平台:手把手教你用AirSim+UE4搭建你的第一个无人机/自动驾驶仿真环境

从游戏引擎到仿真平台&#xff1a;构建AirSimUE4无人机与自动驾驶仿真环境实战指南当游戏引擎遇上机器人算法测试&#xff0c;会碰撞出怎样的火花&#xff1f;微软开源的AirSim项目将虚幻引擎&#xff08;Unreal Engine&#xff09;从游戏开发领域引入到自动驾驶和无人机研究的…...

uWSGI目录穿越漏洞CVE-2018-7490深度利用与防御实战

1. 这不是“读文件”那么简单&#xff1a;uWSGI目录穿越在真实攻防链中的定位与误判代价你刚在Vulfocus靶场里跑通了CVE-2018-7490的PoC&#xff0c;用curl "http://target:8080/?p../../../../etc/passwd"成功读出了root:x:0:0:root:/root:/bin/bash&#xff0c;截…...

WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案

WarcraftHelper&#xff1a;让经典魔兽争霸3完美适配现代电脑的终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代操…...

智能体任务分配算法:从启发式到深度强化学习的演进与实践

1. 项目概述&#xff1a;从“谁来做”到“如何做得更好”的智能进化在机器人集群、无人机编队或是自动化仓储系统中&#xff0c;我们常常面临一个看似简单实则复杂的问题&#xff1a;眼前有一堆任务&#xff0c;手头有一群可用的智能体&#xff08;机器人、无人机、服务器等&am…...

智能知识学习平台

智能知识学习平台项目简介技术架构&#xff1a;问答驱动的开发模式前端架构后端架构核心功能&#xff1a;问答式交互贯穿始终1. 自定义构建知识库2.文档查看3.智能问答&#xff1a;知识触手可及4. 智能题目生成&#xff1a;严格遵循文档内容项目亮点用问答驱动的方式构建智慧学…...

告别烧录烦恼:用Etcher三步打造完美启动盘的终极指南

告别烧录烦恼&#xff1a;用Etcher三步打造完美启动盘的终极指南 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾因烧录系统镜像而误删硬盘数据&#xf…...