bash基础特性:通配符

通配符:*,?,[],[^]

*:匹配任意长度的任意字符

pa*,*pa*,*pa,*p*a*

pa,paa,passwd

?:匹配任意单个字符

pa?

pa,paa,passwd

[]:匹配指定范围内的任意单个字符

[0-9]

[a-z]:不区分字符大小写

[A-Z]:大写字母

[^]:匹配指定范围外的任意单个字符

[^[:upper:]]

[^0-9]

[^[:alnum:]]

有几种特殊格式,常用。(外面中括号是范围匹配的)

[a-z],[A-Z],[0-9],[a-z0-9]

[[:upper:]]:任意大写字母A-Z

[[:lower:]]:任意小写字母a-z

[[:alpha:]]:任意大小写字母A-Z,a-z

[[:digit:]]:任意数字,相当于0-9

[[:alnum:]]:任意数字或字母0-9,A-Z,a-z

[[:space:]]:任何会产生空白的字符,包括空格键[Tab]CR等

[[:punct:]]:标点符号,即"‘?!;:#$

不常用的:

[[:blank:]]:代表空格键与[Tab]键

[[:graph:]]:代表键盘上面的控制按键,即包括CR,LF,Tab,Del等

[[:graph:]]:除了空格符(空格键与[Tab]按键)外的其他所有按键

[[:xdigit:]]:代表十六进制的数字类型,因此包括0-9,A-F,a-f的数字与字符

练习:

1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位做任意字符的文件或目录;

[[email protected] ~]# ls -d /var/l?[[:lower:]]
/var/lib  /var/log

练习1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录;

[[email protected] ~]# ls -d /var/l*[0-9]*[[:lower:]]
/var/l86c

练习2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录

[[email protected] ~]# touch /etc/6abcd8948x
[[email protected] ~]# ls -d /etc/[0-9]*[^0-9]
/etc/6abcd8948x

练习3:显示/etc目录下,以非字母开头,后面跟一个字母及其它任意字符的文件或目录

[[email protected] ~]# touch /etc/8eabc
[[email protected] ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
[[email protected] ~]# ls -d /etc/[^a-z][a-z]*
/etc/8eabc

练习4:复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/magedu.com目录

[[email protected] ~]# ls -d /etc/m*[^0-9]
/etc/machine-id                /etc/mke2fs.conf     /etc/mtab
/etc/magic                     /etc/modprobe.d      /etc/my.cnf
/etc/makedumpfile.conf.sample  /etc/modules-load.d  /etc/my.cnf.d
/etc/man_db.conf               /etc/motd
[[email protected] ~]# cp -r /etc/m*[^0-9] /tmp/magedu.com/

练习5:复制/etc目录下,所有以.d结尾的文件或目录至/tmp/magedu.com目录中

[[email protected] ~]# ls -d /etc/*.p        #.d结尾的文件太多了,改成.p结尾的文件
/etc/123.p
[[email protected] ~]# cp -a /etc/*.p /tmp/magedu.com/

5:复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下

[[email protected] ~]# ls -d /usr/share/man/man[0-9]
/usr/share/man/man1  /usr/share/man/man4  /usr/share/man/man7
/usr/share/man/man2  /usr/share/man/man5  /usr/share/man/man8
/usr/share/man/man3  /usr/share/man/man6  /usr/share/man/man9
[[email protected] ~]# cp -r /usr/share/man/man[0-9] /tmp/man/

练习6:复制/etc目录下,所有以.conf结尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下

[[email protected] ~]# ls -d /etc/[mnrp]*.conf
/etc/man_db.conf  /etc/nsswitch.conf  /etc/rsyslog.conf
/etc/mke2fs.conf  /etc/resolv.conf
[[email protected] ~]# cp -r /etc/[mnrp]*.conf /tmp/conf.d/
时间: 2024-11-08 04:20:56

bash基础特性:通配符的相关文章

2017-11-5Linux基础知识(10)bash基础特性

在上一章中我们讲述了bash基础特性之命令补全和路径补全以及它的命令引用,以及讲了文件管理命令,例如:复制.移动和删除,然后我们也讲述了变量,主要围绕着存储格式.数据范围和参与运算.那么这次我们继续讲述bash的基础特性,这一次我们讲述的是文件的通配符和IO重定向等. 一.globbing:文件名通配 我们在查询某些文件的时候,通常是在该目录下进行查找,有的时候文件繁多,想找一些特定的文件就得从该目录下逐个匹配进行查找进行通配,如果没找到则显示为空,找到的话就在下面显示该匹配结果的文件或目录,那

Bash基础(2) 通配符 组合键 数据重定向 管道 tee

Bash基础(2)     通配符  组合键  数据重定向  管道  tee命令 1 文本名"通配符" *:匹配任意长度的任意字符: ?:匹配任意单个字符: []: 匹配指定范围内的任意单个字符: [0-9] [^]:匹配范围外的任意单个字符: [^a-b] 字符集合: [:lower:] 匹配任何小写字母 [:upper:] 匹配任何大写字母 [:alnum:] 匹配任何字母 [:digit:]  匹配任何数字 [:space:] 匹配空格符 [:punct:] 匹配任何标点符号 [

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

0823第三课-2 Linux的文件系统 bash基础特性

1.linux文件系统 绝对路径:/ LSB: FHS(文件系统层级结构标准) FHS: /boot: 引导文件存放目录,例如kernel(vmlinuz).bootloader(grub, grub2): 包含开机菜单以及开机所需要的配置文件等等 [[email protected] boot]# lsconfig-2.6.32-504.el6.x86_64         lost+foundefi                                  symvers-2.6.3

linux文件系统及bash基础特性

linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重要,整个文件系统统一访问入口. Linux引导启动时,默认使用的文件系统是根文件系统.其中一般都包括这样一些子目录: /boot 系统引导文件存放目录 /bin 供所有用户使用的命令(不能关联到独立分支)不能关联到独立分区,os启动即会用到的程序. /sbin 管理员使用特权命令.root-only

谢烟客---------Linux之Bash基础特性

框架:     bash的引用:命令引用.变量引用     bash命令历史     bash中的通配符     bash中的管道     I/O重定向     命令补全     路径补全     bash的快捷键     命令的别名     命令行的展开      1)命令的执行结果与命令的执行状态结果      命令的执行结果: 用户输入命令+Enter后,命令如何执行     命令提示符,回车键后:bash切片,分析命令,[选项],参数,提请给内核,分配资源,运行为一个进程  1)用户接口

Bash基础特性 -- 卷一

 Linux Bash的基础特性 一.history(命令历史记录) 1.语法与常用参数 history 列出当前shell的所有history history [-c] 将当前shell的所有 history 清除 history [n] n为数字,列出最近的n条记录 history [-raw] histfiles -a [HISTFILES] :手动追加当前会话缓冲区的命令历史至文件中,如果histfiles事先不存在,则创建, 如果不指定histfiles文件,则默认写入~/.bash_

bash基础特性(1)

所有的环境变量可以通过 ehco $# 查看 #为环境变量 bash的基础特性: (1)命令历史 history 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE:~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history -d offset 删除某条历史命令 history -c 清空历史命令 history #:显示历史中最近的#条命令 history -a:手动追加当前回话缓冲区的命令历史至历史文件中 调用历史中的命令: !#:重

Linux的文件系统、系统管理类命令、bash基础特性

Linux的文件系统根文件系统(rootfs) root fileysystem LSB,FHS(Filesystem Heirache Standard)文件系统层级结构标准,如:/etc./usr./var./root./home./dev /boot:引导文件存放目录,内核文件(vmlinuz).引导加载器(bootloader,grub)都存放于此目录: /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动即会用到的程序: /sbin:管理类的基本命令:不能关联至独立分区,O

Linux自学笔记(7):bash基础特性及基础命令

bash的基础特性(1)命令历史history调用上一条命令的最后一个参数!$ESC,.atl+.控制命令历史的记录方式环境变量:HISTCONTROLignoreedups:忽略重复的命令:连续且相同为"重复"ignorespace:忽略所有以空白开头的命令ignoreboth:ignoreedups,ignorespace 修改环境变量的方式:export 变量名为"值"变量赋值:把赋值符号后面的数据存储于变量名指向内存空间:(2)命令补全bash执行命令:内部