通配符于特殊符号

通配符

方便查找类似,但不相同的文件名
是专门处理文件内的特殊字符,而不是文件内容
是shell的内置语法,大部分的linux命令都能识别

unix的通配符表也能在linux中使用

unix风格的通配符表

符号 作用
[[:upper:]] 所有大写字母
[[:lower:]] 所有小写字母
[[:alpha:]] 所有字母
[[:digit:]] 所有数字
[[:alnum:]] 所有的字母和数字
[[:space:]] 所有的空白字符
[[:punct:]] 所有标点符号

linux风格的通配符表

* 匹配任意字符
在特定文件中匹配单个字符
[] 匹配括号中的字符 [a-z]范围区间内不区分大小,表示匹配26个英文字母中任意一个字母
[abc]表示匹配小写abc字母中任意一个字符;
[ABC]表示匹配大写ABC字母中的任意字母
在方括号中排除字符
- 匹配一个范围内的字符
# 匹配任意单个字符
^ 与感叹号相同,排除括号中的字符
*匹配任意字符
[root@localhost ~]# ls p*.txt      找出以任意以p开头,txt结尾的文件
puy.txt


[root@localhost ~]# ls  a*         找出任意以a开头的的文件     
anaconda-ks.cfg




[root@localhost ~]# find   /    -name  "*.log"    找出所有任意字符开头,log结尾的文件
/root/Python-3.9.11/config.log
/var/lib/docker/overlay2/55424ad93506d4d2ed5f6cafe624ef40572095898a8e57e9f116d68cdeedeeec/diff/var/log/apt/history.log
/var/lib/docker/overlay2/55424ad93506d4d2ed5f6cafe624ef40572095898a8e57e9f116d68cdeedeeec/diff/var/log/apt/term.log
/var/lib/docker/overlay2/55424ad93506d4d2ed5f6cafe624ef40572095898a8e57e9f116d68cdeedeeec/diff/var/log/dpkg.log
/var/lib/docker/overlay2/55424ad93506d4d2ed5f6cafe624ef40572095898a8e57e9f116d68cdeedeeec/diff/var/log/nginx/access.log
/var/lib/docker/overlay2/55424ad93506d4d2ed5f6cafe624ef40572095898a8e57e9f116d68cdeedeeec/diff/var/log/nginx/error.log
/var/log/vmware-network.6.log
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/rhsm/rhsmcertd.log
/var/log/rhsm/rhsm.log
/var/log/boot.log
/var/log/vmware-vmsvc.log


[] 匹配方括号里的内容

[root@localhost opt]# ls  [1-6].txt
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt
[root@localhost opt]# 





[root@localhost opt]# ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  a.txt  b.txt  chen  game_v2.tar  g.txt  u.txt
[root@localhost opt]# tou
[root@localhost opt]# 
[root@localhost opt]# ls  [a-z,0-9].txt
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  a.txt  b.txt  g.txt  u.txt
[root@localhost opt]# 

[!abcd] 取反方括号的内容

[root@localhost opt]# ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  a.txt  b.txt  chen  game_v2.tar  g.txt  u.txt
[root@localhost opt]# ls  [!0-9].txt
a.txt  b.txt  g.txt  u.txt
[root@localhost opt]# 

^ 取反,与感叹号作用相同

[root@localhost opt]# ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  a.txt  b.txt  chen  game_v2.tar  g.txt  u.txt
[root@localhost opt]# ls  [^0-9].txt
a.txt  b.txt  g.txt  u.txt
[root@localhost opt]# 

特殊符号

引号

''   单引号,强引用,单引号中的内容会被当作普通字符

[root@localhost opt]# echo  'date'     打印当前系统时间,单引号强引用,不识别引号中命令,原样输出
date




""    双引号,能够将引号内具有特殊意义的字符发挥其功能



``     反引号,可以解析命令
[root@localhost opt]# echo  `date`     
Sat Apr 9 15:49:09 CST 2022
[root@localhost opt]# 

[root@localhost nginx]# echo  `date '+%F'`    打印当前时间,格式化时间以年月日显示
2022-04-11

分号 ;表示命令的结束,多个命令之间的间隔符

管道符 | 左边命令的执行结果交给右边进行二次处理

&&符 符号左边的命令执行成功,符号右边的命令才能执行

|| 只有前面命令执行失败,才执行后面命令;前面命令执行成功,后面不执行

$() 符 引用,引用括号里命令的结果

[root@localhost opt]# ls
1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  a.txt  b.txt  chen  game_v2.tar  g.txt  u.txt
[root@localhost opt]# ls  [^0-9].txt
a.txt  b.txt  g.txt  u.txt
[root@localhost opt]# rm -f $(find . -name '*.txt')    #找到当前目录所有的txt文件,然后删除
[root@localhost opt]# ls
chen  game_v2.tar
[root@localhost opt]#  

posted @   linux技术大拿  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示