Manpages

______________________________________________________________________________

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, 否 则 返 回 0
file exists
name 如 果 文 件 name 存 在 并 且 当 前 的 用 户 对 找 到 (lead to)它 (所 途 径 )的 目 录 有 查 找 的 权 利 (privilege)则 返 回 1, 否 则 返 回 0
file extension
name 返 回 在 name 最 后 那 个 元 素 的 最 后 一 个 点 号 之 后 并 包 括 点 号 的 所 有 在 name中 字 符 。 如 果 在 name 的 最 后 的 那 个 元 素 中 没 有 点 号 则 返 回 空 串 。
file isdirectory
name 如 果 文 件 name 是 一 个 目 录 则 返 回 1, 否 则 返 回 0
file isfile
name 如 果 文 件 name 是 一 个 普 通 文 件 则 返 回 1, 否 则 返 回 0
file 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, 否 则 返 回 0
file pathtype
name 返 回 absoluterelativevolumerelative 中 的 一 个 。 如 果 name 参 照 一 个 在 指 定 卷 上 的 指 定 文 件 , 路 径 类 型 将 是 absolute。 如 果 name 参 照 一 个 相 对 当 前 工 作 目 录 的 一 个 文 件 , 则 路 径 类 型 将 是 relative。 如 果 name 参 照 在 指 定 卷 上 的 相 对 于 当 前 工 作 目 录 的 一 个 文 件 , 或 者 在 当 前 工 作 卷 上 的 指 定 文 件 , 则 路 径 类 型 是 volumerelative
file readable
name 如 果 文 件 name 对 当 前 用 户 是 可 读 的 则 返 回 1, 否 则 返 回 0
file 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 的 最 后 的 组 成 部 分 不 包 含 点 号 , 则 返 回 name
file 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 不 包 含 分 隔 符 则 返 回 name
file 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

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh