Linux~bash功能(二)通配符、命令别名、命令替换、路径展开、重定向、管道技术

bash功能(一)命令行编辑、内部命令和外部命令、命令补全和路劲补全、命令历史

通配符

通配符概念

  • 是特殊的字符,不表示表面意义,而是能够匹配符合指定特征的字符

  • *
    代表任意长度的字符
    在这里插入图片描述


  • 代表任意单个字符
    在这里插入图片描述

  • []
    代表指定范围的单个字符
    在这里插入图片描述

查找文件名有空格的文件

  • a[’ ']b
    在这里插入图片描述

使用专门的方法标识特点字符

  • [[:space:]]
    空格

  • [[:digit:]]
    [0~9]

  • [[:lower:]]
    [a~z]

  • [[:upper:]]
    [A~Z]

  • [[:alpha:]]
    [a~Z]

  • ps:在括号里加上 ` 表示取反,具体我面有演示

在这里插入图片描述

命令别名

查看定义的别名

  • alias
    在这里插入图片描述

定义名别名

在这里插入图片描述
在这里插入图片描述

调用命令本身

  • \命令
    在这里插入图片描述

删除别名

  • unalias 命令别名
    在这里插入图片描述

命令替换

概念

  • 使用执行的结果替换该命令

$(命令)

在这里插入图片描述
在这里插入图片描述

使用反引号实现命令替换

在这里插入图片描述

强引用与弱引用

  • bash中 “ ” 弱引用,能实现命令替换
  • ‘ ’ 强引用,不能实现命令替换。
    在这里插入图片描述

路径展开

概念

  • 如果我们需要创建很多文件在同一个文件,我们就可以对其进行命令优化,也就是路径展开。

一个{}

在这里插入图片描述

俩个{}{}

在这里插入图片描述

复杂路径

在这里插入图片描述

重定向

概念

  • 将标准输入、标准输出和标准错误输出定向到一个文件中
    在这里插入图片描述

重定向输出的操作符

  • >
    将结果输出到指定文件中,而不是显示在屏幕上

  • >>
    将结果输出追加到指定文件中
    在这里插入图片描述

重定向输入的操作符

  • <
    将命令中接收输入的路径由默认的键盘更改为指定的路径

  • <<
    指定输入结束符

查看标准输入输出设置

  • Is -1 /dev/std*
    在这里插入图片描述
  • 最后的1为标准输出,2位标准错误输出,在接下来的重定向中也要用到1和2

重定向标准输出

在这里插入图片描述

重定向标准错误输出

在这里插入图片描述

将标准输出和标准错误输出重定向到不同文件

  • 1>a 2>b
    将标准输出到a文件,标准错误输出到b文件
    在这里插入图片描述

将标准输出和标准错误输出重定向到同一个文件

  • &>ab
    将标准输出和标准错误输出重定向到同一个文件ab中
    在这里插入图片描述

重定向用途

  • 可以将命令输出保存到文件
  • 可以向配置文件增加内容
  • 可以合并文件内容

管道技术

在这里插入图片描述

概念

  • 将前一个命令的标准输出成为下一个命令的标准输入,在其之间加上 | 即可。
    在这里插入图片描述

注意事项

  • 在管道后面的命令,不应该再跟文件名
  • 在管道中只有标准输出会传递下去,标准错误输出直接输出到终端(可以将标准错误输出重定向)
    在这里插入图片描述
    在这里插入图片描述
  • 有些命令不支持管道技术,但是前面加上 xargs 就可以是其支持管道技术(Is -1 是不支持管道技术的)
    在这里插入图片描述

总结 Linux中的重定向和管道

llinux中的三种IO设备:
标准输入(STDIN),文件描述符号为:0,默认从键盘获取输入
标准输出(STDOUT),文件描述符号位:1,默认输出到显示终端
标准错误(STDERR),文件描述符号为:2,默认输出到显示终端
IO重定向是为了改变默认输入、输出的位置:

  1. 输出重定向(标准输出STDOUT和标准错误输出STDERR)
    【>】标准输出覆盖重定向
    【>>】标准输出追加重定向
    【2>】标准错误输出重定向
    【2>>】标准错误输出追加重定向
    【&>】将标准输出和标准错误输出都同时重定向(相当于二次重定向【2>&1】)
    【&>>】将标准输出和标准错误输出都同时追加重定向
    【set -C】命令:启用系统禁止覆盖重定向(set -C执行后,再做重定向时,重定向文件如果存在则会报错 cannot overwrite existing file)如果在启用【set -C】命令后依然需要覆盖重定向文件,可以使用【>|】来强制覆盖
    【set +C】命令:解除禁止覆盖重定向(set +C执行后,重定向文件如果存在则不会报错,直接覆盖)
  2. 输入重定向(标准输入)
    【<】输入重定向;
    【<<END】多行输入;(END为多行输入的结束标志)通常用于脚本创建新文件时写入固定内容
  3. 管道
    【|】把前一个命令的执行结果当做后一个命令的输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值