这个子命令返回或设置与一个文件相关联的特定于平台的值。第一种形式返回特定于平台的标志(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 copy ?-force? ?- -? source ?source ...? targetDir
第一中形式在路径名 target 底下做文件或路径 source 的一个复件。如果 target 是一个现存的目录,则使用第二种形式。第二种形式在 targetDir 中做列出的每个 source 文件的一个复件。如果指定一个目录作为一个 source,则这个目录的内容将被递归的复制进 targetDir 中。除非指定 -force 选项否则现存文件将不被覆写。即使指定了 -force ,尝试覆写一个非空目录,用一个文件覆写一个目录,或者用一个目录覆写一个文件将导致错误。参数按指定的次序被处理,如果有错误的话,在第一个错误处停止(halt)。一个 - - 标记选项的结束;在 - - 之后的参数即使以 - 开始将仍被作为一个 source 来对待。
file dirname c:/返回 c:/。
注意波浪线替换只在必要的时候进行用以补全(complete)命令。例如,
file dirname ~/src/foo.c返回 ~/src,而
file dirname ~返回 /home (或类似的东西)。
file join a b /foo bar返回 /foo/bar。
注意任何名字都可以包含分隔符,并且结果总是依从当前平台的规矩: 对 Unix 和 Windows 是 /,对 Macintosh 是 :。
file split /foo/~bar/baz返回 / foo ./~bar baz 来确保以后的命令在第三个组成部分上不进行波浪线替换。
Copyright © 1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.