通配符于特殊符号
通配符
方便查找类似,但不相同的文件名
是专门处理文件内的特殊字符,而不是文件内容
是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]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南