重定向和管道

1.Linux给程序提供三种I/O设备

标准输入-0    默认接受来自键盘的输入

标准输出-1    默认输出到终端窗口

标准错误-2    默认输出到终端窗口

重定向和管道

dev下有个fd设备,打开的文件都有一个fdfile dexcriptor 文件描述符

I/O重定向:改变默认位置

 

2.把输出和错误重新定向到文件

> 把正确输出重定向出去

2> 把错误输出重定向出去

>  2>&1 (把错误结果转换成正确结果) &>  把所有输出重定向到文件

重定向和管道

>  相当于touch 可以创建文件   echo abc > filename 此时>是覆盖的意思

>>追加

>| filename 强制覆盖

set -C禁止将内容覆盖已有文件,但可以追加

set +c 允许覆盖

&>把所有输出重定向到文件

重定向和管道

():合并多个程序的输出(注意命令之间用;来分隔)

 重定向和管道

3.tr  转换和删除字符

tr -s ” 多个中(重复的元素)取一个

重定向和管道

tr -d ” 删除 tr -d abc < /etc/fstab  删除fstab文件中所有abc

重定向和管道

tr -t ” 没有转换的对象就不转换

重定向和管道

tr -c “取字符的补集(和t s结合使用)

tr -cs”

重定向和管道

tr -cd “反向删除

重定向和管道

 

重定向和管道

 tr ‘1-9’ ‘a-j’ < test 这是将指定文件test中的‘1-9’改为‘a-j’   test中的内容不变

<输入重定向



重定向和管道

abc转换成edf后,后面没有要转换的东西,所以就不转换了;当abc转换成edf后,还要转换d,但是没有转换的对象,此时转换的对象应是上一个字母转换的对象,所以将d转换成f


对应的字符:

\NNN  用八进制值NNN字符(1到3八进制数字)

\\ 反斜杠

\b 退格

\n 新行

\r 回车

重定向和管道

 

重定向和管道

命令显示的内容可以导入一个文件中

 

重定向和管道

-d和-s的效果  -d不保留回车   -s保留一个回车

 

重定向和管道

cat > listfile < filename 单纯敲cat > listfile 就会等待你输入 你可以手动输入,也可以使用文件导入 在后面加< 跟个文件

 

重定向和管道 

<<后面跟的是终止词(命令从键盘多行重导入), 敲入 cat > test << ?? 就会等待你输入,当输入??时,就会终止输入,此时输入完毕。


4.管道 | 将正确结果重定向给下一条命令

命令1 | 命令2 | 命令3….将命令1的输出发送到命令2的输入,再将命令2的输出发送到命令3的输入….

错误的输出不能通过管道的发送,需要通过2>&1 | |& 来实现

2>&1 | |&  全部结果重定向

组合多种工具的功能

ls | tr ‘a-z’ ‘A-Z’

mail发邮件 echo 123456 | mail -s “nihao” magedu

ls -l /etc/passwd | less  一页一页的查看输入

  

5.mail 发邮件

格式:mail -s  “nihao”  magedu    “nihao “是主题 magedu是你要发送邮件的对象

重定向和管道

敲完mail -s  “nihao”  magedu 就会让你输入发送邮件的内容  敲 .就可以结束输入了   

mail -s “nihao”  magedu < /etc/passwd (很少使用 cat /etc/passwd | mail  -s “nihao”  magedu(大多数使用)这种格式是直接将文件导入,不用输入

 

6.tee

格式:命令1 | tee [-a]filename | 命令2   把命令1显示的内容保存在文件中,作为命令2的输入

-a 是追加  若不加-a,当这个文件存在时就会覆盖,文件不存在时,直接创建该文件并保存。若加-a,当文件存在时就会追加。

重定向和管道

 

本次博客的内容就到这里,欢迎大家指点。 

 

 

 

原创文章,作者:fuming,如若转载,请注明出处:http://www.178linux.com/81894

(0)
fumingfuming
上一篇 2017-07-20
下一篇 2017-07-20

相关推荐

  • 计算机网络基础知识与Linux网络配置

    本文主要内容是: 1.讲述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 2、IP地址的分类有哪些?子网掩码的表示形式及其作用 3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。 4、如何给网络接口配置多个地址,有哪些方式? 5、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方…

    Linux干货 2016-11-14
  • 内核编译实际效果演示

    内核编译实际操作效果演示     环境:CentOS7.2,自带内核版本为3.10.0-327.el7.x86_64,下载3.18.41版本进行编译     步骤1:确保开发工具包组已安装     [root@localhost …

    Linux干货 2016-09-13
  • python练习实例

    #依次输出五位数的每一位(由低位到高位)i=12345for a in range(5):j=i%10i=i//10print(j) #依次输出五位数的每一位(由高位到低位)i=12345for a in range(5,0,-1):j=i//10**(a-1)i=i%10**(a-1)print(j) #打印菱形for i in range(-3,4):j…

    Linux干货 2018-03-25
  • linux基础1

    linux基础

    Linux干货 2018-03-08
  • Awk 高级应用

                              Awk 简介   Awk 是一种变成语言,用于在Linux/UNIX下对文本和数据进行扫描与处理,数据可以来自标准输入,文件 ,管道。Awk分别代表其作者的姓…

    2017-07-17
  • MySQL入门命令知识

    简单介绍下吧,MySQL应用的场景大多数互联网公司第一次卖身是卖个了sun好像是10亿,第二次是连同sun自己,以74亿美元被卖给了Orecle~后面MySQL原作者站出来说,MySQL会存在闭源风险,整了个MariaDB~我也是醉了,也不考虑下我们的痛苦!下面简要介绍下MySQL的入门知识。    一、MySQL有三种定义语言 &nbs…

    2016-12-05