11 liunx shell基础 通配符,其他特殊符号,单引号和双引号的区别,`` 、$()、¥{}的区别


在这里插入图片描述

通配符

通配符:用来匹配文件名的。

符号意义
*代表『 0 个到无穷多个』任意字符
?代表『一定有一个』任意字符
[ ]同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』
[ - ]若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的!
[^ ]若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。
# 找出 /etc/ 底下以 cron 为开头的档名
[root@www ~]# ll -d /etc/cron*    <==加上 -d 是为了仅显示目录而已

# 找出 /etc/ 底下文件名『刚好是五个字母』的文件名
[root@www ~]# ll -d /etc/?????    <==由于 ? 一定有一个,所以五个 ? 就对了

# 找出 /etc/ 底下文件名含有数字的文件名
[root@www ~]# ll -d /etc/*[0-9]*  <==记得中括号左右两边均需 *

# 找出 /etc/ 底下,档名开头非为小写字母的文件名:
[root@www ~]# ll -d /etc/[^a-z]*  <==注意中括号左边没有 *

# 将上面命令中 找到的文件复制到 /tmp 中
[root@www ~]# cp -a /etc/[^a-z]* /tmp

其他特殊符号

符号内容
#批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不运行
\跳脱符号:将『特殊字符或通配符』还原成一般字符
|管线 (pipe):分隔两个管线命令的界定(后两节介绍);
;连续命令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)
~用户的家目录
$取用变量前导符:亦即是变量之前需要加的变量取代值
&工作控制 (job control):将命令变成背景下工作
!逻辑运算意义上的『非』 not 的意思!
/目录符号:路径分隔的符号
>, >>数据流重导向:输出导向,分别是『取代』与『累加』
<, <<数据流重导向:输入导向
’ ’单引号,不具有变量置换的功能
" "具有变量置换的功能!
`两个『 ` 』中间为可以先运行的命令,亦可使用 $( )
( )在中间为子 shell 的起始与结束
{ }在中间为命令区块的组合!

单引号和双引号的区别

详情通过下面代码观察一下。

[userwin@MiWiFi-R3L-srv ~]$ name=lingyiwin
[userwin@MiWiFi-R3L-srv ~]$ echo $name 
lingyiwin
[userwin@MiWiFi-R3L-srv ~]$ echo '$name' 
$name
[userwin@MiWiFi-R3L-srv ~]$ echo '${name}' 
${name}
[userwin@MiWiFi-R3L-srv ~]$ echo "$name" 
lingyiwin
[userwin@MiWiFi-R3L-srv ~]$ echo "${name}" 
lingyiwin

`` 、$()、¥{}

通过下面示例解析

# 执行date命令 并输出结果
[userwin@MiWiFi-R3L-srv ~]$ date
202112月 06日 星期一 22:48:25 CST
# 单引号特性 不具有变量置换功能,输出源字符串
[userwin@MiWiFi-R3L-srv ~]$ echo '${date}' 
${date}
# 单引号特性 变量置换,没有date变量,即date变量的值为空,故什么都不输出
[userwin@MiWiFi-R3L-srv ~]$ echo "${date}"

# ``特性 执行date命令
[userwin@MiWiFi-R3L-srv ~]$ echo `date`
202112月 06日 星期一 22:49:27 CST
# 单引号特性,输出字符串
[userwin@MiWiFi-R3L-srv ~]$ echo '$(date)'
$(date)
# 双引号特性 和 $() 相当于``
[userwin@MiWiFi-R3L-srv ~]$ echo "$(date)"
202112月 06日 星期一 22:50:11 CST

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EngineerForSoul

你的鼓励是我孜孜不倦的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值