其他命令(echo、输入输出重定向、管道、cat << end等)

1. 重定向相关

1.1 echo命令
  1. 作用:会在终端中显示参数指定的文字,通常会和重定向联合使用。
  2. 格式:echo 参数名
  3. 示例:echo hello
1.2 重定向

将某些内容的输出/输入的目的地(设备)改变,使其输入/输出到其他目的地(设备),就是重定向。

1.2.1 输出重定向相关
  1. 概念:将某些程序/命令的输出结果保存到其他地方而非屏幕上,这就是重定向。比如可以将结果重定向到文件中,这样就可以永久的保存到文件中。
  2. 正确重定向符号:>>>
    这两个的区别:>是写入指定目标,而>>是追加到指定目标的末尾,也就是说>会清空目标中的内容,然后在将内容写入,比如如果重定向到某个文件中,会先清空该文件的原有内容。
  3. 实例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 错误重定向符号:2>2>>,可以将错误的结果重定向到文件中,两个符号的区别与>和>>相同。
  5. 示例:
    在这里插入图片描述
    在这里插入图片描述
  6. 正确和错误重定向符号:&>&>>,可以将正确和错误的结果全部重定向,两个符号的区别与>和>>相同。
  7. 示例:
    在这里插入图片描述
    附: /dev/null是一个特殊的设备,可以将任何不需要的信息重定向到该设备。
1.2.2 输入重定向相关
  1. 示例:
    使用mail(安装evolution客户端后)发送邮件的格式如下:
    mail -s 邮件标题  目标用户名(敲完后回车)
    	 ......//输入要发送的内容
    	(敲完后回车)
    
    可以使用如下的方法查看和收邮件:
    mail(按回车查看邮件),然后按前面的编号即可查看相应邮件内容
    
  2. 输入重定向符号:<,例如上面的发送邮件的示例中,输入完发送邮件的命令mail并按回车后,命令会进入和只输入cat类似的状态来等待用户的输入,而此时用户输入的内容就被输入重定向定向到mail命令中
  3. 输入重定向的意义:就是可以将交互式命令转为非交互式命令,所谓shell脚本就是一个Linux脚本的集合(序列),但是脚本中的内容要尽可能是非交互式命令,这样才能让脚本自己运行。

注: 需要注意的是<<并不是输入重定向符号,这个符号一般和cat联合使用,想要结束左边命令的输入必须以<<右边的内容结束,示例如下:
在这里插入图片描述

2. 管道——符号(|)

2.1 管道的作用

Linux允许将一个命令的输出通过管道作为另一个命令的输入,可以将其理解成一个管子,左侧塞(写)东西,右侧取(读)东西,管道的通信是单向的。

2.2 管道符号

|:管道符号,将左边命令的输出作为右边命令的输入

2.3 常用管道的命令

与管道命令经常搭配使用的命令有以下几个:

  1. more:分屏显示内容

  2. grep:在命令执行的结果的基础上在指定文件中查找指定内容。

    1. 常用参数:
      1. -i:不区分大小写
      2. -v:反向抓取,即不含有“内容”的行
      3. -A:after,使用方法,-A n,抓取有内容的行及其后n行
      4. -B:before,使用方法,-B n,抓取有内容的行及其前n行
      5. -n:显示行号
      6. -E:表示使用高级功能,如匹配正则表达式时,就需要加此参数
    2. 正则表达式(存在的意义是为了匹配文件内容,而通配符是为了匹配文件名)
      1. ^....:匹配以^...开头的,即以^后面的字符串开头的内容
      2. ....$:匹配以…结尾的,即以 前 面 的 字 符 串 结 尾 的 内 容 , 在 s h e l l 中 前面的字符串结尾的内容,在shell中 shell后面加字字母表示变量。
      3. .:表示匹配任意一个字符
      4. *:表示匹配任意非空字符串
      5. ?:表示可以复用前面的字符,比如 a?,表示匹配aa或a

    注: 配合管道,grep可以抓取任何内容

注: 不管是head还是tail以及cat等都是将文本显示出来的命令,而后面也不一定非要加一个文件,如果什么都不加,那么其都会等待一个输入。而且在文件管理中,大部分命令都有接收输入的能力。
重点命令: xargs:该命令基本都是跟在管道符后的,例如“ls | xargs cat”,这里xargs的作用是将ls的结果作为参数传给cat,那么就是将file的文本内容输出出来,而非将ls的结果输出出来

2.4 示例

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值