基于Linux的输入输出以及管道

一、输出重定向符号

先建立实验所需的条件。
在这里插入图片描述
我们在普通用户下,按名字查找etc文件夹下名为passwd的文件数。能正常查询的文件只有2个,而不能查询的共有17个。
重定向输出编号为1 >
在这里插入图片描述
将编号为1结果存入file1中,而编号为2的内容显示在字符器。
重定向输出编号为2 2>
在这里插入图片描述
将编号为2结果存入file2中,而编号为1的内容显示在字符器。
重定向所有输出 &>
在这里插入图片描述
将所有结果存入file3。

二、输入重定向

tr ‘a-z’ ‘A-Z’<file ##将file中的所有小写字母变成大写字母
在这里插入图片描述
<<+标示符…表示符 ##将两个表示符内的内容定向输入
在这里插入图片描述
编辑一个shell文件,并运行该shell文件
在这里插入图片描述
我们在运行passwd时,系统会要求我们输入两次密码,我们将两次密码放在两个标识符之间。这样系统在编译我们的shell文件时,将会自动数输入密码,而不需我们进行人工输入。该方法十分适用与需要多次输入同一内容的情况。

三、管道的应用

首先需要明确的是,管道的作用是将前一条指令的结果作为输入。同时只有编号为1的内容才能作为输入。
再次以查找passwd文件作为实验对象,同时加入管道,查看最后的文件个数。
在这里插入图片描述
通过结果我们可以发现,通过管道的个数为2,这2个文件正是我们有权限查询的文件,而剩下的文件则成为了编号为2的文件显示在字符器上。
此外,我们还能够通过2>&1将所有编号为2的输出变为编号为1。
在这里插入图片描述
通过管道的文件个数为19,就表明了,此时编号为2的文件已经成了编号为1的文件。
当我们使用管道时,上一条指令的结果并不会显示,如果我们像保存这些内容,我们可以用tee指令,复制这些结果到一个文件中。
在这里插入图片描述
find /etc/passwd/ -name passwd|tee file2|wc -l将编号为1的内容存在了file2中,同时又将其作为输入,传送给管道。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值