Provided by: manpages-zh_1.5.2-1_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)。有{macintoshtype          XXXX}{macintosh          creator          XXXX} │
              形式的项目将分别的匹配类型或建立者。不可识别的类型,或多个                    MacOS │
              类型/建立者指定将导致错误。                                                         │

              以混合两种类型,所以           -types          {d          f          r          w} │
              将找到有读写权限的正规文件目录。下列命令等价:                                   │
                            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