Provided by: manpages-zh_1.5.2-1.1_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+s,go-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