重定向和管道

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 17:10
下一篇 2017-07-20 18:27

相关推荐

  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • Linux中的man命令使用方法

      Linux中的man命令就是manual的缩写,此命令是用来查看系统中自带的各种参考手册,帮助用户更好的了解并使用命令。   man命令的使用格式为: man COMMAND,即man后面跟上需要查询的命令,进到手册后有如下快捷按钮帮助用户更好的操作手册。     1.按键-j &nb…

    Linux干货 2016-10-20
  • 第一周作业

    一、计算机的组成及功能(参照书籍:《计算机的组成原理》)  按照冯•诺伊曼结构,计算机的硬件由运算器、控制器、存储器、输入设备和输出设备五部分组成。  CPU   :由运算器与控制器组成。主要功能就是控制各部件协调工作。         运…

    Linux干货 2017-02-06
  • bash功能特性四 文件名通配符

    文件名通配(globbing)     通配符在bash中是一个非常有用的功能,它可以使我们更加方便的查找符合特定条件的文件。     文件通配符的包括以下几种:          *:任意长度的任意…

    Linux干货 2015-04-21
  • N25-第十一周博客作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 点对点加密过程如下: 发送方根据单向加密算法计算数据的特征码 用私钥加密这段特征码,生产数字签名,将数字签名附着在数据后面 发送方生产临时对称密钥,用对称加密算法结合对称加密密钥加密整段数据(数据+数字签名) 为保证接收方可以解密,发送方用接收方的公钥加密对称加密密钥,附加在数据后面 接收方用自己的私钥解密数据…

    Linux干货 2017-03-30
  • WORD文档格式要求与linux学习规划

    WORD文档格式要求 一、封面               1、活动名称(隶书,小初号字,加粗)               2、主办单位、策划日期(宋体、3号字) 二、目录    &nbs…

    Linux干货 2016-12-12