重定向和管道

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

相关推荐

  • 搭建一套LVS-DR模型的高性能集群(LVS-DR+Nginx+Mariadb+Nfs+php-fpm+wordpress)

    架构简介 参加马哥linux培训一周了,自己感觉每天都进步很多,现在来说说这个架构,也是架构师第一周的作业第二题。搭建一套LVS-DR模型的高性能集群,做了两天终于完成并实现了这个架构,我设计的架构图如下所示: 此架构主要是用ipvsadm来实现高性能集群,Realserver(RS1,RS2)安装配置nginx,RS服务器分别配置了一个内网,一个外网。正常…

    Linux干货 2016-12-06
  • 主流Linux发行版对比

      对服务器来说,没有最好的Linux发行版。一切都取决于企业的实际需求。 如今Linux已不再只是一款自由操作系统,它还承载了许多企业的核心应用。在对比流行的Linux发行版时,不仅要考虑有吸引力的功能集,还要关注系统的支持与服务。 服务器管理员担心操作系统的维护和支持周期。维护生命周期指的是Linux发行版持续提供产品补丁和更新的时间。支持方面…

    Linux干货 2016-10-31
  • 周期性计划任务Cron详解

    概述 cron 是Linux 或者类 Unix 系统的作业调度程序。利用它,我们可以配置某些命令或者脚本,让命令和脚本在某个设定的时间内周期性地运行。本文主要以描述了 CentOS 6的cron命令的详细知识。 了解cron组件 cron程序由程序包cronie提供,我们可以通过rpm -qi cronie查看cronie的信息。 cron 的组件包括: 1…

    Linux干货 2016-09-18
  • Lamp应用

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置三个基于名称的虚拟主机; (a) discuzX (b) wordpress (c) https: phpMyAdmin (2) 对discuzX的主页做压测; 分别给出并发10, 100, 200, 500等每秒的响应数 建立私有CA (umask 077;openssl genrs…

    Linux干货 2016-10-12
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • N-22-南京-修 第三周博客作业

    #1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [xujie@localhost ~]$ who | cut -d " " -f1 | sort -u #2、取出最后登录到当前系统的用户的相关信息。 [root@localhost xujie]# last -x | head -1 #3、取出…

    Linux干货 2016-09-15