linux学习笔记第六章标准io和管道

mayunfei233 mayunfei233     2023-02-23     377

关键词:

1.1标准输入输出

IO: input/output 输入输出

标准输入 stdin:默认是键盘
标准输出 stdout:默认是终端
错误输出 stderr:默认是终端

1.2重定向

1.2.1 输出重定向

输出重定向:输出到文件等

输出重定向符号:

  • ">"正确输出重定向,如果文件不存在,创建并将输出内容写入,如果已经存在,则进行覆盖
  • "2>"错误输出重定向
  • "&>"全部输出重定向
  • ">>"正确输出追加到文件,文件已经存在,追加到末尾,不会覆盖
  • "2>>"同上
  • "&>>"同上
  • "2>&1"把错误的输出转换成正确的输出,对于输出到文件,&> file 等于 > file 2>&1

/dev/null 把所有不要的输出可以重定向到这里,不会进行保存

退出码: 每条命令执行后都会有一个退出码,可以知道命令是否执行成功
echo $?: 0代表正确,非0代表错误
echo: 将后面内容进行输出,可理解为print

举例:
.bash_history中包含用户执行过的所有命令,可以使用
echo xxx > .bash_history对内容进行覆盖
echo xxx > >.bash_history对内容进行追加(2>>,&>>)

1.2.2输入重定向

输入:
命令tr:转换或删除字符串
tr ‘A-Z’ ‘a-z’ 将大写改为小写,默认来自键盘的输入

CTRL+d结束交互式输入
CTRL+c中断

管道也是一种特殊的输入重定向:
wc -l .bash_profile 等价于 cat .bash_profile | wc -l

输入重定向符号:

  • “<” 输入来自于文件
  • “<<” 多行输入,不需要交互

举例:
tr ‘A-Z’ ‘a-z’ < .bash_profile 将文件中的大写字母转换为小写
tr ‘A-Z’ ‘a-z’ << EOF 多行输入直到遇到字符串”EOF“,脚本中常用
cat >> file1.txt << EOF 多行追加到文件file1.txt中

1.3管道符

管道(pipe)-----> 符号:|

command1 ; command2 命令之间没有关系
command1 | command2 | command3… 命令之间有关系

管道作用: command1命令输出通过管道作为command2命令输入,错误的输出不能通过管道,可以加上2>&1将错误的输出转化为正确输出。

举例:

  1. 管道可以省略交互式输入:
    echo password | passwd --stdin user1
    改密码不用再从键盘输
  2. 统计etc目录下文件数:
    find /etc | wc -l
    find /etc -name passwd 2>&1 | wc -l
    etc目录下文件名为passwd的文件数:
    find /etc -name passwd | wc -l

说明:

  1. 不符合语法规则,第一个命令输出不能作为第二个命令输入
  2. 第二个命令不接受来自于管道的输入
  3. 管道一般是用来处理字符串或者文本的,或者命令有特殊说明可以接受来自管道的信息

1.4三通管道

增强学习笔记第六章td方法

TD是一个结合DP和MC之间的方法。TD不需要环境模型,但是又可以bootstrap。6.1TD预测典型的TD(0)预测方程:看第三章关于状态价值的等式:MC用的是第一行,它之所以为估计,因为不知道$G_t$的期望值,而使用的采样来做的平均。DP用... 查看详情

《domscripting》学习笔记-——第五章第六章案列改进

第四章的案例代码可以得到更好的改进。例如:预留退路、向后兼容性和分离js。原html代码:1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>Document</title>6</head>7<body>8<h1& 查看详情

深度学习bible学习笔记:第六章深度前馈网络

第四章数值计算(numericalcalculation)和第五章机器学习基础下去自己看。 一、深度前馈网络(DeepFeedfarwardNetwork,DFN)概要:DFN:深度前馈网络,或前馈神经网络(FFN)/多层感知机(MLP)目标:近似模拟某函数f y=f(x;θ) ... 查看详情

标准i/o第六章

...迫,这第六章第五章都快快的看,大体理解,为下周进程学习准备一下。系统数据文件和信息【口令文件】口令文件各字段包含在passwd结构中。一行数据各字段以:分隔。1.root用户ID是0;口令文件项某些字段可能是空,则用户没... 查看详情

第六章笔记

循环结构(二)学习本章有道的单词:rate:速度,比率young:年轻的,年少schedule:时间表,调度neggtive:消极的;否定customer:顾客,观众birthday:生日point:点.指向,分点数continue:继续,延生,持续return:返回,归还for:为了,因为:为了,对于 for循环语法:... 查看详情

[java学习笔记]java核心技术卷1第六章接口与内部类

第6章接口与内部类6.1接口一个类可以实现一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。在接口声明中,方法自动public,可以不写修饰符。在实现接口时必须把方法声明为public。一个接口中可以包含... 查看详情

linux学习笔记10——管道和重定义

计算机的组成有:运算器,控制器,存储器,输入输出设备。于是就有了地址总线,数据总线,控制总线。事实上在机器里面总线是复用的,一个总线三种功能。地址总线:内存寻址数据总线:传输数据控制总结:控制指令寄存... 查看详情

android深度探索(卷1)hal与驱动开发第六章 第一个linux驱动程序:统计单词个数读书笔记

本章是一个具体的例子,来详细的介绍开发和测试Linux驱动程序的完整过程。尤其是测试Linux驱动。在这个统计单词个数的实例中,重点是该算法的实现技术:即Linux驱动,而不是如何统计的。6.1Linux驱到底是什么Linux驱动的工作... 查看详情

第六章学习小结

第六章主要学习了:图图的存储方式学了邻接矩阵和邻接表。邻接矩阵就是二维数组邻接表有三个结构:1:头结点,有data和指向第一个结点的指针,后面就是它连接的结点。2:结点,data和next指针。3:头结点集合成表,头结点... 查看详情

第六章学习小结

第六章我们首先学习了图,知道图是由两个集合V(点)和E(边)组成,也知道了有向图和无向图的区别,同时也学习了用如何用邻接矩阵和领接表来表示图。 邻接矩阵:方便检查任意一堆顶点间是否存在边,方便找任一顶... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第六章神经网络初步)6.5boltzmann机算法

6.5Boltzmann机算法6.5.1问题的提出6.5.2模拟退化原理6.5.3Boltzmann分布与退火过程6.5.4Boltzmann机类与退火过程   Boltzmann网络初始时,需要根据参数设置一系列的初始值,主要参数在_init_中  (1)构造方法如下classBoltzmannNet(object... 查看详情

第六章深入理解函数lua程序设计笔记

--第六章深入理解函数Lua中函数是“第一类值”,与其他传统类型有相同的权利:可以储存到变量或table中,可以作为函数实参传递,还可以作为函数的返回值。函数的标准定义:foo=function(x)returnx*2end一个函数定义实际上就是一... 查看详情

第六章xaas和it服务标准

从云计算(CloudComputing)谈起 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提... 查看详情

小甲鱼零基础汇编语言学习笔记第六章之包含多个段的程序

...章节中,我们的程序都是只有一个代码段,本章我们开始学习如何编写包含多个段的程序。 1、在代码段中使用数据   首先考虑这样一个问题,计算以下8个数据的和,结果存放在ax寄存器中:   0123H,045... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第六章神经网络初步)6.3自组织特征映射神经网路(smo)

 具体原理网址:http://wenku.baidu.com/link?url=zSDn1fRKXlfafc_tbofxw1mTaY0LgtH4GWHqs5rl8w2l5I4GF35PmiO43Cnz3YeFrrkGsXgnFmqoKGGaCrylnBgx4cZC3vymiRYvC4d3DF3自组织特征映射神经网络(Self-OrganizingFeatureMap。也称Kohonen映 查看详情

第六章学习小结(代码片段)

本章内容学习了图的结构及其应用,今天就学习的图的应用中的两种搜索方法“深度优先搜索”和”广度优先搜索“及对应的练习来给大家分享一下自己的心得。题目如下: 给定一个有N个顶点和E条边的无向图,... 查看详情

第六章django框架学习——orm详解(代码片段)

第六章Django框架学习——ORM介绍与常用方法 一、ORM介绍二、ORM中的常用字段和参数三、ORM中的关系字段——一对一(OneToOneField)四、ORM中的关系字段——多对多(ManyToManyField)五、ORM中的元信息 一、ORM介绍(部分内容... 查看详情

第六章高级加密标准

第六章高级加密标准美国国家技术研究所NIST在2001年发布了高级加密标准AES,一个对称分组密码算法,取代DES称为广泛使用的标准。与公钥密码RSA相比,AES以及大多数的对称密码的结构都很复杂。AES中所有的运算是在8位的字节上... 查看详情