Linux中的通配符
来源:互联网 发布:知画生孩子第29集 编辑:程序博客网 时间:2024/05/20 01:38
Bash Shell本身不支持正则表达式,使用正则表达式的是Shell命令和工具,如grep, sed, awk等,但是,Bash Shell可以使用正则表达式中的一些元字符实现通配(Globbing)功能,通配是把一个包含通配符的非具体文件名扩展存储在计算机、服务器或网络上的一批具体文件名的过程。最常用的通配符包括正则表达式字符:?, *, [], {}, ^等。这些元字符在通配中的意义与正则表达式中的意义不完全一致,*符号不再表示其前面字符的重复,而是表示任意位的字符,?字符表示一个任意字符,^符号在通配中不代表行首,而是代表取反。下面以ls命令来举例通配符的使用:
#列出以.awk结尾文件的详细信息
ls -l *.awk
#列出以0开头、后面跟1个字符且以.pem为后缀的文件,
ls -l 0?.pem
#列出以a~h范围内字母开头,以.awk结尾的文件
ls -l [a-h]*.awk #[]符号的意义与正则表达式中的[]符号的意义一样
#通配中的{}符号表示一组表达式的集合,{}符号内的表达式是"或"的关系
ls -l {[a-h]*.awk,0?.pem} #表达式之间不能有空格
通配的结果由计算机搜索大量的文件和目录进行匹配而输出,通配对处理能力和内存资源有很高的需求。黑客输入包含通配符的文件名故意让服务器重复和连续不断地进行通配可能引起拒绝服务攻击。因此,大型服务器经常通过限制服务器执行通配功能的次数、限制一个具体用户每次输入的通配符或者如果通配符太普通,则拒绝执行通配等方法来提高服务器的安全性。
内部变量GLOBIGNORE保存了通配时所忽略的文件名集合,应该说,?,*,[],{},^五个符和GLOBIGNORE变量构成了Shell通配的所有内容。
- Linux中的通配符
- linux终端中的通配符
- Linux中的通配符
- Linux中的通配符
- linux中的通配符学习小结
- linux中的通配符、元字符、转义符
- linux中的正则表达式和通配符
- Linux通配符
- Linux通配符
- linux通配符
- Linux通配符
- linux通配符
- Linux通配符
- Linux通配符
- Linux通配符
- Linux通配符
- Linux-通配符
- linux通配符
- 图论500题,默默奋斗
- SqlServer 如何将查询出的多行数据拼成一个字符串返回
- linux下定期备份mysql数据库
- C#中改变ListView中ColumnHeader的颜色
- iOS: 关于CALayer的contentsCenter属性
- Linux中的通配符
- VMware中右下角找不到优盘图标
- ProGuard
- Python Socket 编程——聊天室示例程序
- Linq多表链接分页,Select new{"需要的字段列.."},配合杨涛Mvcpager,前台遍历展示自定义字段
- 使用消息队列的 10 个理由
- Linux常用命令速查手册
- 自动换行后进行缩进
- printf中输出double的占位符