12_Linux基础知识及命令――――使用通配符来操作文件
2014-04-10 01:44
1136 查看
一、通配符的基本含义
bash 支持使用通配符(globbing)。掌握通配符,对于我们灵活运用bash 脚本有很大的帮助。 最常用的通配符有以下四种:*:表示任意长度的任意字符;?:表示任意的单个字符;[]:表示在指定范围内的单个字符:[a-z];[^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如 [^0-9]表示除数字以外的一切字符。下面举几个例子来演示如何使用通配符:
1.复制 /etc下所有以i 开头的文件:# cp -v /etc/i* /tmp# ls /tmp
2.复制 /etc 下所有以.conf 结尾的文件:# cp -v /etc/*.conf /tmp# ls /tmp
3.复制 /etc 下以i开头,以.conf结尾的文件:# cp -v /etc/i*.conf /tmp# ls /tmp
4.复制 /etc 下以i 开头,以.conf结尾,中间包含一个任意字符的文件: # cp -v /etc/i?.conf /tmp# ls /tmp
5. 复制 /etc 下以i 开头,以.conf结尾,中间包含以a、b、c、d中任意一个字母开头的文件: # cp -v /etc/i[abcd]*.conf /tmp # ls /tmp
6.复制 /ect 下以一个非数字字符和一个数字组合命名的文件 # cp -v /etc/[^0-9][0-9] /tmp
# ls /tmp
7.复制 /etc 下以p开头,中间跟了任意字符,并以 d 结尾的文件 # cp -vr /etc/p*d /tmp # ls /tmp
如果文件在 /etc的子目录中,则可以采用递归的方式复制
8.复制 /etc 下以p开头,后跟了4个任意字符,以d结尾的文件至 /tmp/a 中,若a不存在,则先创建a目录: # mkdir /tmp/a; cp -vr /etc/p????d /tmp/a
# ls /tmp/a注意:多条命令可以一起执行,中间用分号隔开。
9.复制 /etc 下以任意一个非数字开头,以数字结尾的文件至 /tmp/b中:# mkdir /tmp/b; cp -vr /etc/[^0-9]*[0-9] /tmp/b# ls /tmp/b
10.复制 /etc 下以非字母开头,后面跟了一个字母,及任意长度的字符文件至 /tmp/c 中:# mkdir /tmp/c; cp -vr /etc/[^a-zA-Z][a-zA-Z]* /tmp/c
二、其他通配符除上述四种常用的通配符以外,还有一些在实际工作中会经常用到的通配符,列举如下:[:digit:] 表示所有的数字,相当于0-9如果写成[[:digit:]], 则等同于[0-9], 表示从0-9 这9个数字中任选一个:# ls /tmp/*[0-9]# ls /tmp/*[[:digit:]]
[:lower:] 表示所有的小写字母[:upper:] 表示所有的大写字母注意: [a-z] 和 [A-Z] 其实是不区分大小写的,如下述例子可以看出差别:# ls /etc/[a-z]*.conf# ls /etc/[[:lower:]]*.conf# ls /etc/[A-Z]*.conf# ls /etc/[[upper:]]*.conf
[:alpha:] 表示所有的字母,如:# ls /etc/p[[:alpha:]]*.conf
[:alnum:] 相当于[0-9a-z], 如:# ls /etc/p[[:alnum:]]*.conf
[:space:] 相当于空白字符,如:# touch /tmp/’a b’# ls /tmp/[a-z][[:space:]][a-z]
[:punct:] 表示所有的标点符号,如# touch /tmp/’a!b’# ls /tmp/[[:alnum:]][:punct:][[:alnum:]]
bash 支持使用通配符(globbing)。掌握通配符,对于我们灵活运用bash 脚本有很大的帮助。 最常用的通配符有以下四种:*:表示任意长度的任意字符;?:表示任意的单个字符;[]:表示在指定范围内的单个字符:[a-z];[^]:脱字符,是取反的意思,即在指定范围以外的任意字符,如 [^0-9]表示除数字以外的一切字符。下面举几个例子来演示如何使用通配符:
1.复制 /etc下所有以i 开头的文件:# cp -v /etc/i* /tmp# ls /tmp
2.复制 /etc 下所有以.conf 结尾的文件:# cp -v /etc/*.conf /tmp# ls /tmp
3.复制 /etc 下以i开头,以.conf结尾的文件:# cp -v /etc/i*.conf /tmp# ls /tmp
4.复制 /etc 下以i 开头,以.conf结尾,中间包含一个任意字符的文件: # cp -v /etc/i?.conf /tmp# ls /tmp
5. 复制 /etc 下以i 开头,以.conf结尾,中间包含以a、b、c、d中任意一个字母开头的文件: # cp -v /etc/i[abcd]*.conf /tmp # ls /tmp
6.复制 /ect 下以一个非数字字符和一个数字组合命名的文件 # cp -v /etc/[^0-9][0-9] /tmp
# ls /tmp
7.复制 /etc 下以p开头,中间跟了任意字符,并以 d 结尾的文件 # cp -vr /etc/p*d /tmp # ls /tmp
如果文件在 /etc的子目录中,则可以采用递归的方式复制
8.复制 /etc 下以p开头,后跟了4个任意字符,以d结尾的文件至 /tmp/a 中,若a不存在,则先创建a目录: # mkdir /tmp/a; cp -vr /etc/p????d /tmp/a
# ls /tmp/a注意:多条命令可以一起执行,中间用分号隔开。
9.复制 /etc 下以任意一个非数字开头,以数字结尾的文件至 /tmp/b中:# mkdir /tmp/b; cp -vr /etc/[^0-9]*[0-9] /tmp/b# ls /tmp/b
10.复制 /etc 下以非字母开头,后面跟了一个字母,及任意长度的字符文件至 /tmp/c 中:# mkdir /tmp/c; cp -vr /etc/[^a-zA-Z][a-zA-Z]* /tmp/c
二、其他通配符除上述四种常用的通配符以外,还有一些在实际工作中会经常用到的通配符,列举如下:[:digit:] 表示所有的数字,相当于0-9如果写成[[:digit:]], 则等同于[0-9], 表示从0-9 这9个数字中任选一个:# ls /tmp/*[0-9]# ls /tmp/*[[:digit:]]
[:lower:] 表示所有的小写字母[:upper:] 表示所有的大写字母注意: [a-z] 和 [A-Z] 其实是不区分大小写的,如下述例子可以看出差别:# ls /etc/[a-z]*.conf# ls /etc/[[:lower:]]*.conf# ls /etc/[A-Z]*.conf# ls /etc/[[upper:]]*.conf
[:alpha:] 表示所有的字母,如:# ls /etc/p[[:alpha:]]*.conf
[:alnum:] 相当于[0-9a-z], 如:# ls /etc/p[[:alnum:]]*.conf
[:space:] 相当于空白字符,如:# touch /tmp/’a b’# ls /tmp/[a-z][[:space:]][a-z]
[:punct:] 表示所有的标点符号,如# touch /tmp/’a!b’# ls /tmp/[[:alnum:]][:punct:][[:alnum:]]
相关文章推荐
- Linux基础知识学习(二)----SZ/RZ命令讲解以及在secureCRT使用SFTP上传文件的讲解
- Linux学习日记--基础命令(3)-文件操作,通配符,命令别名
- Linux 文件管理基础命令和通配符基础知识
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
- Linux基础回顾(3)——常用命令及文件操作
- Linux下C语言编程基础知识--gcc编译器的使用、MakeFile文件的编写
- linux svn 批量操作文件 及 各命令使用详解
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
- LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件
- LInux文件基础知识和文件目录操作(系统调用函数方式)
- Linux入门基础 #3:文件基本操作管理和常用命令
- LInux文件基础知识和文件目录操作(二)文件I/O操作
- Linux使用基础一:安装与常用的操作使用命令
- linux svn 批量操作文件 及 各命令使用详解
- Linux基础知识之帮助命令的使用
- linux学习之路(4)基础使用和常用文件操作命令
- Linux基础知识--3.Linux目录和文件相关命令和Linux基础特性2
- Linux文件操作命令strings使用方法详细介绍
- linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
- linux文件操作之ls、mkdir、rmdir、cp命令使用