码迷,mamicode.com
首页 > 其他好文 > 详细

重定向和管道

时间:2016-07-31 00:29:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:管道 重定向

一、重定向

    输入重定向,就是将命令的执行结果或者字符串覆盖或者追加到某一个文件中

       命令:>(覆盖)  >>(追加)

     linux输出结果分三种:

        标准输入0:键盘的输入

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

        错误输出2:默认输出到终端窗口

     根据输出结果输出重定向到文件中:

        > 覆盖正确输出结果重定向到文件

         2> 覆盖错误输出结果重定向到文件

        2>> 追加错误输出结果重定向到文件

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

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

        > file > &1 覆盖所有输出重定向到文件

        合并多个程序重定向到文件中

          (ls;pwd)> f1 多条命令重定向


        >文件内容会被覆盖

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

           set +C:允许覆盖

        >>原有内容基础上,追加内容

    输入重定向

       命令:<

       将文件中的内容传递给命令执行

        cat < /etc/fstab

       cat << EOF 通常卸载脚本中,执行脚本后在屏幕上显示出来,做提示使用

        A

        B

        C

       EOF  

二、管道

    格式:Command1 | Command2 |.....

    管道:将第一条命令的执行结果当做参数传递给第二个命令使用

        cat /etc/fstab | mail -s hello tom

        mail -s hello tom < /etc/fstab

       

练习:

   1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

        cat /etc/issue | tr "a-z" ‘A-Z‘ > /tmp/issue.out

   2、将当前系统登陆用户的信息转换为大写保存至/tmp/who.out文件中

        id | tr ‘a-z‘ ‘A-Z‘ > /tmp/who.out

   3、一个linux用户给root发邮件,要求邮件标题为help,邮件正文如下,hello,I am 用户名,the system version is here please help me to check it thanks        

    mail -s “help” root

  Hello ,I am root

  the system version is here ,please help me to check it ,thanks!

  .

  EOF

   4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开

      

   5、file1文件的内容为:1 2 3 4 5 6 7 8 9 10 计算出所有数字的总和

    

   6、删除Winodows文本文件中的^M字符


   7、处理字符串”xt,.|1 jr#-smn2 c*/fe 3 uz 4“,只保留其中 数字和空格

        echo "xt,.|1 jr#-smn2 c*/fe 3 uz 4" | tr -d [:alpha:][:punct:]



    

        

         


重定向和管道

标签:管道 重定向

原文地址:http://11729433.blog.51cto.com/11719433/1832150

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!