Provided by: manpages-zh_1.5.1-2_all bug

NAME

       glob - 返回匹配模式的文件名

 SYNOPSIS
       glob ?switches? pattern ?pattern ...?
_________________________________________________________________

 DESCRIPTION
       这个命令用与                          csh                         shell
       类似的方式进行文件名的“通配符匹配”。它返回文件名匹配          pattern
       (模式)参数中的所有文件的一个列表。

       如果给                glob                的初始参数以                -
       开始,则它们将被作为选项来对待。当前支持下列选项开关:                   |

       -directory                                                              |
       directory                                                    |          |
              在这个给定的                                           directory |
              (目录)中开始查找匹配给定模式的文件。这允许查找名字中包含通配符敏感字符的目录而不需要显式的引用这些字符。这个选项不能与-path|
              联合使用。                                                       |

       -join                                                                   ||
              把通过剩余的模式参数用目录分隔符连接起来作为一个单一的模式来对待。|

       -nocomplain
              允许返回一个空列表而不是返回一个错误;要是没有这个开关的话,如果结果列表为空则返回一个错误。

       -path                                                                   |
       pathPrefix                                                        |     |
              查找有给定的                                          pathPrefix |
              (路径前缀)的文件,名字中余下的部分匹配给定模式。这个选项允许查找与一个给定文件有类似的名字的文件,包括名字中包含通配符敏感的字符的情况。这个选项不能与-directory|
              联合使用。                                                       |

       -types                                                                  |
       typeList                                                         |      |
              只列出匹配                                              typeList |
              (类型列表)的文件或目录,在这个列表中的元素有两种形式。第一种形式类似|
              Unix find 命令的 -type 选项: b (块特殊文件 block special  file), |
              c  (字符特殊文件  character special file), d (目录 directory), f |
              (单纯文件 plain file), l (符号连接 symbolic link),  p  (命名管道 |
              named       pipe),       or       s       (套接口       socket), |
              在这个列表中可以指定多个类型。Glob                               |
              返回至少匹配一个类型的所有文件。                                 |

              对于第二种形式指定的类型,所有给出的类型都必须匹配。它们是作为文件权限的|
              rwx和作为特殊权限的实例的   readonlyhidden。在   Macintosh |
              上,还支持  MacOS 类型和建立者,假定任何四个字符长的项目都是一个 |
              MacOS  类型(例如 TEXT)。有{macintosh type  XXXX}{macintosh |
              creator                                                    XXXX} |
              形式的项目将分别的匹配类型或建立者。不可识别的类型,或多个 MacOS |
              类型/建立者指定将导致错误。                                      |

              以混合两种类型,所以       -types       {d      f      r      w} |
              将找到有托慈ㄏ薜恼嫖蚰柯肌O铝忻畹燃:                |
                             glob -type d *                                    |
                             glob */                                           |
              但第一种情况不返回尾部的 ``/'' 并且更加不依赖平台。              |

       --     标志着选项的结束。此后的参数即使以    -    开始仍将被作为pattern
              对待。

       pattern  参数可以包含任意下列特殊字符:

       ?         匹配任何单一字符。

       *         匹配零个或多个字符的任何序列。

       [chars]   匹配在    chars   中的任何单一字符。如果   chars   包含   a-b
                 形式的一个序列则匹配在 ab  之间(包括它们在内)的任何字符。

       \x        匹配字符 x{a,b,...} 匹配字符串 ab 等中的任何一个。

       与                              csh                              一样,
       在一个文件的名字的开始处或紧随“/”之后的那个“.”必须被显式的(explicit)匹配或与一个
       {}  构造(construct)相匹配。额外的,所有“/”字符必须显式的匹配。

       如果在一个
       pattern中的第一个是“~”,则它参照一个用户的主目录,这个用户的名字紧随在“~”之后。如果
       “~”的后面紧随着一个“/”,则使用 HOME 环境变量的值。

       glob与                           csh                           globbing
       在两个方面有区别。首先,它不排序它的结果列表(如果你想排序的话使用 lsort
       命令)。其次,glob           只返回实际存在的文件的名字;在          csh
       中除非一个模式包含一个 ?、*、或 [] 构造,否则不检查文件是否存在。

 PORTABILITY ISSUES
       不象其他                                                            Tcl
       命令那样接受网络和本地式样的两种名字(关于如何指定本地和网络名字的详情参见
       filename手册条目),而 glob  命令只接受本地名字。

       Windows
              对于                         Windows                         UNC
              名字,路径组成部分中的服务器名和共享名不能包含?、*、或        []
              构造。在 Windows NT 上,如果  pattern   有  ``~username@domain''
              的形式,则它参照一个用户的主目录,这个用户的帐号信息驻留在指定
              NT   域控制器上。否则,从本地计算机获取用户帐号信息。在  Windows
              95        和       98      上,glob       接受象“.../”      和
              “..../”这样的模式,用于连续的更上层的父目录。

       Macintosh
              在使用了选项     -dir-join-path      的时候,glob
              假定给整个模式的目录分隔符是标准的“:”。在不使用这些选项的时候,glob
              检查每个模式参数,除非这个模式包含一个“:”,否则使用“/”。

 SEE ALSO
       file(n)

 KEYWORDS
       exist, file, glob, pattern

[[2001/09/03

 Linux man:
       http://cmpp.linuxforum.net