通配符

通配符

标签(空格分隔): linux基础
作者:Mr:wei

第1章 回顾特殊符号

符号解释
|#管道符,或者(正则)
>#输出重定向
>>#输出追加重定向
<#输入重定向
<<#追加输入重定向
~#当前用户家目录
`` 或$()#引用命令被执行后的结果
$#以。。。结尾(正则)
^#以。。。开头(正则)
*#匹配全部字符,通配符
#任意一个字符,通配符
##注释
&#让程序或脚本切换到后台执行
&&#并且 同时成立
[]#表示一个范围(正则,通配符)
{}#产生一个序列(通配符)
.#当前目录的硬链接
#上级目录的硬链接

第2章 通配符

他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“【”,{}

通配符含义===>匹配文件名

符号作用
*匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
?匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0
[abcd]匹配abcd中任何一个字符
[a-z]表示范围a到z,表示范围的意思
{…}表示生成序列。以逗号分隔,且不能有空格补充
[!abcd]或[^abcd]表示非,表示不匹配括号里面的任何一个字符

2.1.1 通配符详解

[root@text ~]# mkdir {a..n}
[root@text ~]# ls
a  b  c  d  e  f  g  h  i  j  k  l  m  n
[root@text ~]# touch {n..z}
[root@text ~]# ls
a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z

2.1.2 ? 任何一个字符

[root@text ~]# ls ./?
./o  ./p  ./q  ./r  ./s  ./t  ./u  ./v  ./w  ./x  ./y  ./z

./a:

./b:

./c:

./d:

./e:

./f:

./g:

./h:

./i:

./j:

./k:

./l:

./m:

./n:
这里一个?代表一个字符,如果有匹配三个字符,应该是???,多个就以此类推

2.1.3 [abcd]表示匹配中括号内任意一个字符就成立

[root@text ~]# ls [djbcz]
z

b:

c:

d:

j:

2.1.4 通配符是用来找文件(匹配文件名)

[root@text ~]# ls [a..f]
a:

f:
[root@text ~]# ls [a-f]
a:

b:

c:

d:

e:

f:
中括号不支持..符号,从哪到哪用-

2.1.5 {}生成序列

[root@text ~]# mkdir {a..n}
[root@text ~]# ls
a  b  c  d  e  f  g  h  i  j  k  l  m  n
[root@text ~]# touch {n..z}
[root@text ~]# ls
a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z

2.1.6 利用 {} 来备份

[root@text ~]# cp abcd{,.bak}
[root@text ~]# ls
abcd  abcd.bak
[root@text ~]# cp abc{d,www.bak}
[root@text ~]# ls
abcd  abcd.bak  abcwww.bak
[root@text ~]# cp abcd{,www.bak}
[root@text ~]# ls
abcd  abcd.bak  abcdwww.bak  abcwww.bak
,表示代表用逗号后面的字符替换逗号前面的字符

2.1.7 [^abcd] 或 [!abcd] 表示非,取反

[root@text ~]# ls abc[^z]
abcd
[root@text ~]# ls abc[^d]
ls: cannot access abc[^d]: No such file or directory

2.2.1 []与{}区别

[]只能用来找文件
{} 用来找文件,或创造文件,生成序列

第3章 特殊符号

3.4.1未分类特殊符号

3.4.2 #表示注释

linux 会忽略他,给运维人员看的,解释说明用的。

3.4.2 $ 引用变量,取变量的值或普通用户的命令提示符

1,shell $变量 ===>取变量里面的内容
2,awk $取列 $数字
3,普通用户的命令提示符

第4章 常用特殊符号及通配符

通配符含义
*代表任意(0个或多个)字符
代表任意1个字符
[abcd]匹配中括号中任意一个字符
{}中间为命令区块组合或内容生成
特殊符号含义
分号 连续不同命令的分隔符
#配置文件注释
|管道,将前一个命令的结果交给后一命令继续处理
cd ~ 当前用户的家目录
-cd - 用户上一次所在的目录,由变量OLDPWD控制;su - 切换用户的系统环境
上一级目录
.当前目录(当前目录三种写法:ls或ls .或ls ./)
$变量前需要加的符号$OLDPWD;普通用户的命令提示符
/根;路径分隔符号
\屏蔽系统别名;转义字符;
>输出重定向
>>输出追加重定向
<输入重定向
<<输入追加重定向
‘’单号引,不具有变量置换功能,输出时所见即所得
“”双引号,具有变量置换功能,解析变量输出``反引号(倒引号),``中间是命令,会先执行,等价于$()
!逻辑运算中的“非”;vi/vim中的强制退出;!+ 字母 调出最近一次以此字母开头的命令;!!使用最近一次操作的命令
&&当前一个指令执行成功时,执行后一个指令
双管道符当前一个指令执行失败时,执行后一个指令

第5章 单引号,双引号,不加引号的区别

[root@text ~]# echo '$LANG $(which mysql) {a..z}'
$LANG $(which mysql) {a..z}
[root@text ~]# echo "$LANG $(which mysql) {a..z}"
en_US.UTF-8 /usr/local/mysql/bin/mysql {a..z}
[root@text ~]# echo $LANG $(which mysql) {a..z}
en_US.UTF-8 /usr/local/mysql/bin/mysql a b c d e f g h i j k l m n o p q r s t u v w x y z

单引号:所见即所得。
双引号:解析特殊符号,特殊符号有了原本的特殊意思
不加引号:比较特殊,支持通配符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值