红联Linux门户
Linux帮助

Linux下文件和目录操作常用通配符

发布时间:2011-06-17 10:36:56来源:赛迪网作者:linux使用者

  文件和目录管理涉及的命令比较多,在现存的各个版本的Linux系统中,各命令功能大体相同。

  在Linux文件系统中,可以使用通配符来匹配多个选择。常用的通配符及其说明如下表所示。

  Linux下文件和目录操作常用通配符

  例如当前目录下存在cars 、cat、can、cannon、truck、bus和bike等几个文件,要列出所有以字母"c"开头的文件,可使用命令:

  #touch car cats can cannon truck bus bike

  #ls c*

  cars can cannon

  列出所有以字母"b"开头的文件名,命令行为:

  #ls b*

  bike bus

  列出所有第一个字母为"c",最后一个字母为"n"的文件,命令行为:

  #ls c*n

  can cannon

  列出包含字母"a"的所有文件,命令行为:

  #ls *a*

  cars cat can cannon

  列出当前目录下的所有文件,命令行为:

  #ls *

  bike bus cars cat can cannon truck

  通配符"?"只能匹配任意一个字符。例如列出上例中所有第三个字母是"n"的文件,命令行为:

  #ls ??n*

  can cannon

  列出第一个字母是"b",第三个字母是"s"的所有文件,命令行为:

  #ls b?s*

  bus

  中括号表示一个匹配的字符集,例如[123456]与[1-6]都表示数字1、2、3、4、5和6。大写字母A到D之间的任意一个字符可用[A-D]表示。多个集合之间可以用逗号分隔,例如[1-10,a-z,A-Z]表示数字1到10,小写字母a到小写字母z及大写字母A到大写字母Z。一个集合中若有前缀"!",则表示除了集合中包含的字符以外的所有字符组成的集合。如表示所有的辅音组成的字符集可写成[!aeiou]。例如要显示上例中所有以字母b 或c开头的文件名,命令行为:

  #ls [b,c]*

  bike bus car cat can cannon

  又如列出所有以字母b或c开头,以字母s或k 结尾的文件,命令行为:

  #ls [b,c]*[s,k]

  bus cars

  大括号是用来查找文件的一个常用方法,例如以长格式列出cars、cans和cats文件的信息,可以使用命令:

  #ls -l c{ar,an,at}s