加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux重定向与管道简述

发布时间:2020-12-13 23:14:39 所属栏目:Linux 来源:网络整理
导读:Shell命令进行I/O重定向, 默认标准正确输出路径在/dev/pts字符设备下 重定向数据流包含三种信息流 1、标准输入流(stdin):代码为0,符号为或 2、标准输出流(stdout):代码为1,符号为或 3、标准错误流(stderr):代码为2,符号为2或2 重定向简解为3类形式
Shell命令进行I/O重定向, 默认标准正确输出路径在/dev/pts字符设备下


重定向数据流包含三种信息流
1、标准输入流(stdin):代码为0,符号为<或<<
2、标准输出流(stdout):代码为1,符号为>或>>
3、标准错误流(stderr):代码为2,符号为2>或2>>
重定向简解为3类形式
1、>或2>:以覆盖的方式输出?
2、>>或2>>:以追加的方式输出?
3、<:标准输入流默认从键盘输入,<<:用于设定结束输入的关键字?
例如:cat > test.sh << EOF 则只有当输入EOF并回车之后才会执行完cat 命令
简单几个实验说明
1 定向”hello world ”回显内容覆盖到test.txt

注意:重定向会覆盖原文件内容

继续将 “hehe”回显内容追加到test.txt


注意:追加不会覆盖源文件内容
2 将定向输入内容显示输出到屏幕上


注意:只有当输入EOF并回车之后才会执行完cat 命令

3 查找/etc下的命名为passwd的文件 定向正确输出覆盖到test.ok 定向错误输出覆盖到test.err

继续查找/etc下的命名为passwd的文件定向所有输出到test.all


继续查找/etc下的命名为passwd的文件定向正确输出追加到test.ok 定向错误输出追加到test.err


注意:以上实验必须在普通用户下完成

管道符的简解
1、管道命令的界定符号为”|”?
2、管道命令仅会处理stdout,对stderr会忽略
3、管道命令必须要能够接收来自前一个命令的数据作为stdin

简单的几个实验
注意:以下实验必须在普通用户下完成

1 查找/etc下的命名为passwd的文件定向错误输出清空并通过管道符显示输出行数


继续查找/etc下的命名为passwd的文件定向错误输出清空通过把输出保存到test文件再通过管道符显示输出行数


继续查找/etc下的命名为passwd的文件定向错误输出2>&1转换为输出流编码为1作为正确输出通过把输出保存到test文件再通过管道符显示输出行数

2 查找/bin下的命名里有大写字母的文件定向错误输出清空通过把输出保存到test文件再通过管道符显示输出单词数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读