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

NAME

       file - 操纵文件名和属性

 SYNOPSIS
       file option name ?arg arg ...?
_________________________________________________________________

 DESCRIPTION
       这个命令提供在一个文件名或属性上的一些操作。Name
       是一个文件的名字;如果它以波浪线(~)开始,则在执行命令之前进行波浪线替换(详情参见filename
       命令的手册条目)。Option       指示对文件名做什么处理。接受       option
       的任何唯一的缩写。有效的选项是:

       file atime name ?time?
              返回一个十进制字符串,给出文件                              name
              上次被访问的时间。如果指定了time,它是这个文件要设置成的访问时间。这个时间是用标准的
              POSIX
              方式(fashion)度量的,即从一个固定的开始时间至今的秒数(通常是1970年1月1日)。如果文件不存在或它的访问时间不可查询或设置则生成一个错误。在
              Windows 上,FAT 文件系统不支持访问时间。

       file attributes name
              file attributes name ?option?
              file attributes name ?option value option value...?
              这个子命令返回或设置与一个文件相关联的特定于平台的值。第一种形式返回特定于平台的标志(flag)和它们的值的一个列表。第二种形式返回指定选项的值。第三种形式设置一个或多个值。这些值是:

              在Unix                                                上,-group
              得到或设置这个文件的组名字。给这个命令一个组ID,而它返回一个组名字。-owner
              得到或设置这个文件的属主的名字。这个命令返回属主的名字,而在设置属主的时候要传递给它数值的
              ID。-permissions               设置或查询               chmod(1)
              所使用的八进制代码。这个命令还有限的支持使用
              chmod(1)的符号属性来做设置,形式是
              [ugo]?[[+-=][rwxst],[...]],这里使用逗号来分隔多个符号属性(例如:
              u+so-rw
              为用户添加粘住位(sticky),为组和其他删除读和写的许可权)。还支持一个简化的
              ls式样的字符串,形式是   rwxrwxrwx   (必须是   9   个字符)(例如:
              rwxr-xr-t 等价于01755)。

              在                      Windows                     上,-archive
              给出值或设置或清除这个文件的归档属性。-hidden
              给出值或设置或清除这个文件的隐藏属性。-longname将把每个路径元素扩展成长版本。不能设置这个属性。-readonly
              给出值或设置或清除这个文件的只读属性。-shortname
              给出一个字符串,在这里每个路径元素被替换成它的短(8.3)版本的文件名。不能设置这个属性。-system
              给出值或设置或清除这个文件的系统属性。

              在                                                     Macintosh
              上,-creator给出或设置这个文件的寻找器(Finder)建立者类型。-hidden给出值或设置或清除这个文件的隐藏属性。-readonly
              给出值或设置或清除这个文件的只读属性。注意如果打开了文件共享则目录只能被锁定。-type
              给出或设置这个文件的寻找器文件类型。

       file channels                                                           |
       ?pattern?                                                 |             |
              如果没有指定                                                     |
              pattern,则返回所有在这个解释器中注册的打开通道的一个列表。如果指定了|
              pattern,则只返回匹配pattern    的名字。确定匹配使用与    string |
              match 相同的规则。

       file copy ?-force? ?--? source target
              file copy ?-force? ?--? source ?source ...? targetDir
              第一中形式在路径名            target            底下做文件或路径
              source的一个复件。如果                                    target
              是一个现存的目录,则使用第二种形式。第二种形式在targetDir
              中做列出的每个  source  文件的一个复件。如果指定一个目录作为一个
              source,则这个目录的内容将被递归的复制进               targetDir
              中。除非指定   -force     选项否则现存文件将不被覆写。即使指定了
              -force
              ,尝试覆写一个非空目录,用一个文件覆写一个目录,或者用一个目录覆写一个文件将导致错误。参数按指定的次序被处理,如果有错误的话,在第一个错误处停止(halt)。一个
              --   标记选项的结束;在 -- 之后的参数即使以 - 开始将仍被作为一个
              source  来对待。

       file delete ?-force? ?--? pathname ?pathname ... ?
              删除由每个       pathname       参数所指定的文件或目录。只有指定
              -force选项才删除非空目录。尝试删除一个不存在文件将导致不作为一个错误来考虑。即使没有指定
              -force
              项,尝试删除一个只读文件将导致文件被删除。参数按指定的次序被处理,如果有错误的话,在第一个错误处停止(halt)。一个
              --  标记选项的结束;在 -- 之后的参数即使以 -  开始将仍被作为一个
              pathname来对待。

       file dirname name
              返回一个名字,由在                                          name
              中除了最后一个之外的所有路径组成部分(component)组成。如果   name
              是一个相对的文件名并且只包含一个路径元素(element),则返回“.”
              (在          Macintosh           上为“:”)。如果           name
              参照一个根目录,则返回根目录。例如,
                     file dirname c:/
              返回 c:/.

              注意波浪线替换只在必要的时候进行用以补全(complete)命令。例如,
                     file dirname ~/src/foo.c
              返回 ~/src,而
                     file dirname ~
              返回 /home (or something similar).

       file executable name
              如果文件对当前用户是可执行的则返回 1,否则返回0file exists name
              如果文件           name            存在并且当前的用户对找到(lead
              to)它(所途径)的目录有查找的权利(privilege)则返回1,否则返回 0file extension name
              返回在   name   最后那个元素的最后一个点号之后并包括点号的所有在
              name中字符。如果在 name 的最后的那个元素中没有点号则返回空串。

       file isdirectory name
              如果文件 name  是一个目录则返回 1,否则返回 0file isfile name
              如果文件 name  是一个普通文件则返回 1,否则返回 0file join name ?name ...?
              接受一个或多个文件名并使用对当前平台正确的路径分隔符来组合它们。如果特定的
              name是相对的,则它会被连接到前面的文件名参数上。否则,丢弃所有以前的参数,从当前的参数开始进行连接。例如
                     file join a b /foo bar
              返回 /foo/bar.

              注意任何名字都可以包含分隔符,并且结果总是依从当前平台的规矩:
              对 Unix 和 Windows 是 /,对 Macintosh 是 :file lstat name varName
              除了使用    lstat    调用而不使用     stat     之外,与     stat
              选项(见后)相同。这意味着如果  name  参照一个符号连接,在 varName
              中返回的信息是针对这个连接而不是它所引用的那个文件。在不支持符号连接的系统上这个选项的行为与
              stat选项完全一致。

       file mkdir dir ?dir ...?
              建立每个指定的目录。对于每个指定的路径名     dir     ,象    dir
              自身一样,这个命令将建立所有不存在的父目录。如果指定了一个现存的目录,不做动作并不返回错误。尝试用一个目录覆写一个现存的文件将导致一个错误。参数按指定的次序被处理,如果有错误的话,在第一个错误处停止(halt)。

       file mtime name ?time?
              返回一个十进制字符串,给出文件
              name上次被修改的时间。如果指定了time
              ,它是这个文件要设置成的修改时间。(等价与         Unix        的
              touch)。这个时间是用标准的                                 POSIX
              方式(fashion)度量的,即从一个固定的开始时间至今的秒数(通常是1970年1月1日)。如果文件不存在或它的修改时间不可查询或设置则生成一个错误。

       file nativename name
              返回文件的特定于平台的名字。如果这个文件名需要传递给特定于系统的调用,比如对在
              Windows 下的 exec 或在 Macintosh 上的 AppleScript 将会有用。

       file owned name
              如果文件 name  由当前用户所有则返回 1,否则返回 0file pathtype name
              返回   absoluterelativevolumerelative   中的一个。如果  name
              参照一个在指定卷上的指定文件,路径类型将是  absolute。如果  name
              参照一个相对当前工作目录的一个文件,则路径类型将是
              relative。如果                                              name
              参照在指定卷上的相对于当前工作目录的一个文件,或者在当前工作卷上的指定文件,则路径类型是
              volumerelativefile readable name
              如果文件 name  对当前用户是可读的则返回 1,否则返回0file readlink name
              返回由 name   给出的符号连接的值(比如,它指向的文件的名字)。如果
              name
              不是符号连接或它的值不可读,则返回一个错误。在不支持符号连接的系统上这个选项未定义。

       file rename ?-force? ?--? source target

       file rename ?-force? ?--? source ?source ...? targetDir
              第一种形式接受由路径名source    指定的文件或目录并且把它重命名成
              target,如果路径名
              target指定了在不同目录下的一个名字,则移动这个文件。如果  target
              是一个现存的目录,则使用第二种形式。第二中形式移动每个    source
              文件或目录到目录                                       targetDir
              中。除非指定了-force选项否则不覆写现存的文件。尝试覆写一个非空目录,用一个文件覆写一个目录,或者用一个目录覆写一个文件将导致错误。参数按指定的次序被处理,如果有错误的话,在第一个错误处停止(halt)。一个
              --  标记选项的结束;在 --  之后的参数即使以 - 开始将仍被作为一个
              source 来对待。

       file rootname name
              返回                                                        name
              的最后一个组成部分的最后一个“.”之前但不包括这个“.”的
              name中的所有字符。如果  name  的最后的组成部分不包含点号,则返回
              namefile size name
              返回给出文件                                                name
              的大小的以字节为单位的一个十进制字符串。如果文件不存在或它的大小不可查询则生成一个错误。

       file split name
              返回一个列表,它的元素是在                                  name
              中的路径的组成部分。列表的第一个元素将与                    name
              有相同的路径类型。所有其他元素将是相对的。除了需要确保一个元素是相对的而无歧义之外,丢弃路径分隔符。例如,在
              Unix 下
                     file split /foo/~bar/baz
              返回           /            foo            ./~bar            baz
              来确保以后的命令在第三个组成部分上不进行波浪线替换。

       file stat  name varNamename    上调用    stat     内核调用,并且使用由    varName
              给出的变量来持有从内核调用返回的信息。VarName
              被作为一个数组变量来对待,并且给这个变量设置下列元素:
              atimectimedevgidinomodemtimenlinksizetypeuid。除了
              type之外的每个元素都是一个十进制字符串,它们的值来自从      stat
              返回的结构中相应的字段。这些值的意义详见  stat  的手册条目。type
              元素给出的文件类型与命令                file                type
              返回的有相同的形式。这个命令返回一个空串。

       file tail name
              返回在最后一个目录分隔符之后的在   name中的所有字符。如果   name
              不包含分隔符则返回namefile type name
              返回给出文件                                                name
              的类型的一个字符串,它将是filedirectorycharacterSpecialblockSpecialfifolink、或 socket 中的一个。

       file volume
              返回一个适当的                                               Tcl
              列表,给出到挂装在系统上的卷的绝对路径。在Macintosh上,将是挂装驱动器的一个列表,包括本地的和网络的二者。N.B.(?)如果两个驱动器有相同的名字,它们都将出现在卷列表上,但当前没有办法从Tcl
              来访问除了第一个之外的任何驱动器。在   UNIX   上,命令将总是返回
              "/",因为所有文件系统都是本地挂装的。在                  Windows
              上,它将返回可获得的本地驱动器的一个列表(比如,{a:/ c:/})。

       file writable name
              如果文件 name  对当前用户是可写的则返回 1,否则返回 0。

 PORTABILITY ISSUES
       Unix
              这些命令总是使用真实用户和组标识而不使用有效用户和组标识。

 SEE ALSO
       filename

 KEYWORDS
       attributes,  copy  files,  delete  files,  directory, file, move files,
       name, rename files, stat

[[2001/06/21

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