重定向及tr命令详解及其在管道中的使用简述

一、标准输入和输出及其重定向

        1.标准输入指的是来自键盘的输入,通常用0来表示;标注输出是默认输出到当前终端窗口,用1来表示;标准错误输出同样默认输出到当前终端窗口,用2来表示。除标准输出之外,我们还可以通过重定向来更改默认的输入和输出方式。

        2.标准输出重定向用>来表示,可以将输出内容重定向至其他终端或者文件,若重定向至文件,则当文件存在时覆盖并写入,文件不存在时创建并写入,如图所示:

计算机生成了可选文字: |0[ root@snorlaxh  snorlaxh  [ root@snorlaxh  snorlaxh  cat > a  cat a

        标准错误输出重定向可以用2>来表示,可以将错误的命令或者命令中有错误参数的标准错误输出至其他终端或者文件,若重定向至文件,则当文件存在时覆盖并写入,文件不存在时创建并写入,如图所示:

计算机生成了可选文字: |0[root@snorlaxh echol snorlaxh  2>a  [root@snorlaxh cat a  -bash: echol: command not  [root@snorlaxh cat a  -bash: echol: command not  found  found

        标准输入重定向是指将默认来自键盘的输出重定向至某个已存在的文件,用文件中的内容作为这次输入的内容,如图所示:

计算机生成了可选文字: |0[ root@snorlaxh  snorlaxh  [ root@snorlaxh  snorlaxh  cat a  cat < a

        另外,还可将标准输出和标准错误输出重定向至同一终端或者文件,用&>或者2>&1来表示,如下图所示

计算机生成了可选文字: |0[root@snorlaxh Is /a /tmp >a 2>&1  [root@snorlaxh cat a  Is: cannot access /a: No such file or directory  /tmp .  ks-script-Cnm cu  ks-script-PV6SKv  systemd-private-lc6e@b3@9@dc424fb@9eb74e233@7b66-cups . service- u6kP2f  systemd- private- 8ba17657427c4eb68dcc87d298c8a77f- cups . service- VLoodK  yum. log

        注意:以上所有重定向输出中,>表示标准输出重定向至文件时追加内容不覆盖原有内容,将>替换为>>表示标准错误输出重定向至文件时追加内容不覆盖原有内容。

 

二、tr命令

        tr命令表示转换或者删除指定文件或输入中的内容,将SET1中的字符转换成SET2,如下图所示。

计算机生成了可选文字: |0[ root@snorlaxh  ABCDEF  abcDEF  — tr  ABC  abc'

        当SET1与SET2的长度不同时,SET1长时,SET多余部分全部转化为SET2中最后一个字符;SET2长时,多余部分忽略。如下图所示:

计算机生成了可选文字: |0[ root@snorlaxh  ABCDEF  abccEF  [ root@snorlaxh  ABCDEF  abcDEF  ABCD  ABC  abc'  abcd'

        -t 先将set1的内容截取为和set2相同,再进行转化,如图所示:

计算机生成了可选文字: |0[ root@snorlaxh  — tr  -t  ABCDEF  abcDEF  ABCD  abc'

        -d 删除SET1中的字符,如图所示:

计算机生成了可选文字: |0[ root@snorlaxh  -d  — tr  or lax  h  snorlaxh

        -s SET1中的字符重复出现时只保留一个,如图所示:

计算机生成了可选文字: |0[ root@snorlaxh  tr  -s  aaab

        -c 取非SET1中的字符进行转换,如图所示

计算机生成了可选文字: |0[root@snorlaxh tr -sc  abcdabcd  aAaA[ root@snorlaxh

三、管道

        管道用|作为分隔符,将分隔符左侧命令的输出作为分隔符右侧命令的输入来进行命令执行结果的传递,示例如下图所示:

计算机生成了可选文字: |0[ root@snorlaxh  SnoR1aXh  echo snorlaxh I tr 'a-zl  'A-QI  a-q'

        示例中使用了两次管道,作用是先将输出字符中的小写全部转化为大写再进行部分转化。

        当管道分隔符左侧命令执行错误时,可以通过&|或者2>&1|将其结果向右侧命令传送,示例如下图所示:

计算机生成了可选文字: |0[root@snorlaxh echol snorlaxh tr  -baSh: echol: command noT foUnd  'a-zl  'A-ZI ltr  'A-QI  a-q'

计算机生成了可选文字: |0[ root@snorlaxh 一 ] # e c h 01 snorlaxh 2 > & 蚓 t r  -baSh : e c h 01 : command n 0T foUnd  。 a 一 z  . A 一 Z 目 t r

 

这就是今天介绍的主要内容,重定向和管道在linux的 学习中是非常重要的内容,希望大家能多多练习,真正掌握起来。

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

(0)
snorlaxhsnorlaxh
上一篇 2016-08-11 09:38
下一篇 2016-08-11 09:38

相关推荐

  • N25_第二周

    Linux文件管理类命令 cp命令:copy 源文件;目标文件; 单源复制:cp [OPTION]… [-T] SOURCE DEST 多源复制:cp [OPTION]… SOURCE… DIRECTORY |       cp [OPTION]… -t DIRECTORY SOURCE……

    Linux干货 2016-12-11
  • N22-第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) (1)POST:加电自检,利用COMS里记录的配置信息检测硬件是否都工作正常 (2)Boot Sequence: 按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备 Grub引导程序:提供一个菜单,允许用户选择要启动的系统或不同的内核版本, 把用户选定的内…

    Linux干货 2016-10-25
  • 笔记一.如何使用VMWare Workstations 12 创建虚拟机

    笔记一.如何使用VMWare Workstations 12 创建虚拟机   一、准备工作 1.下载并安装VMWare Workstations 12 http://www.epinv.com/post/6304.html 下载链接 二、创建虚拟机步骤 1.打开VMWare Workstations 12 选择创建虚拟机 2.在创建虚拟机…

    Linux干货 2017-02-14
  • 26期全程班-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     cp  复制命         ex:cp -a /etc/initab /var/log/message /tmp/   …

    Linux干货 2017-01-10
  • corosync的高可用——高可用mariadb数据库

    corosync, pacemaker,nfs高可用mariadb 实验环境: 4台CentOS 7 的主机,并关闭的iptalbes和selinux功能 主机1:10.1.43.101 node1 corosync+pacemaker+amp 主机2:10.1.43.102 node2 corosync+pacemaker+amp 主机3:10.1.43.…

    Linux干货 2016-11-24
  • 知乎上推荐的几款快速上手的UI框架

    1、Flat UI Flat UI是一套精美的扁平风格 UI 工具包,基于 Twitter Bootstrap 实现。地址:designmodo/Flat-UI · GitHub 2、BootMetro 基于 Twitter Bootstrap 框架构建,用于创建 Windows 8 的 Metro 风格的网站,灵感来自于 Metro UI CSS 。地址:…

    2015-03-17