______________________________________________________________________________
NAME
filename - Tcl 命 令 支 持 的 文 件 名 转 换 _________________________________________________________________
INTRODUCTION
所 有 接 受 文 件 名 作 为 参 数 的 Tcl 命 令 和 C 过 程 希 望 文 件 名 是 依 赖 于 当 前 平 台 的 三 种 形 式 之 一 。 在 每 种 平 台 上 , Tcl 都 支 持 这 种 平 台 上 的 标 准 形 式 的 文 件 名 。 额 外 的 , 在 所 有 平 台 上 , Tcl 支 持 一 种 Unix 式 的 语 法 , 提 供 了 一 种 方 便 的 方 式 来 构 造 简 单 的 文 件 名 。 但 是 , 打 算 被 移 植 的 脚 本 不 要 假 定 特 定 形 式 的 文 件 名 。 可 移 植 的 脚 本 必 须 使 用 file split 和 file join 命 令 来 操 纵 文 件 名 (详 见 file 的 手 册 条 目 )。
路 径 类 型 PATH TYPES
基 于 用 来 指 定 文 件 的 路 径 的 起 点 , 文 件 名 被 组 织 成 三 种 一 般 类 型 : 绝 对 , 相 对 , 相 对 -卷 。 绝 对 名 字 是 完 全 限 定 的 (qualified), 给 出 的 到 文 件 的 路 径 相 对 于 一 个 特 定 的 卷 和 在 这 个 卷 上 的 根 目 录 。 相 对 名 字 是 未 限 定 的 , 给 出 的 到 文 件 的 路 径 相 对 于 当 前 的 工 作 目 录 。 相 对 -卷 名 字 是 部 分 限 定 的 , 给 出 的 路 径 要 么 相 对 在 当 前 卷 上 的 根 目 录 , 要 么 相 对 于 在 指 定 卷 上 的 当 前 目 录 。 使 用 file pathtype 命 令 来 确 定 一 个 给 定 路 径 的 类 型 。
路 径 语 法 PATH SYNTAX
本 地 名 字 的 规 则 依 赖 于 在 Tcl 数 组 元 素 tcl_platform(platform) 中 报 告 的 值 :
mac 在 |
Apple Macintosh 系 统 上 , Tcl 支 持 两 种 形 式 的 路 径 名 。 常 规 |
Mac 式 样 的 名 字 使 用 分 号 作 为 路 径 分 隔 符 。 路 径 可 以 是 相 对 的 或 绝 对 的 , 并 且 文 件 名 中 可 以 包 含 除 了 分 号 之 外 的 任 何 字 符 。 一 个 前 导 的 分 号 导 致 路 径 的 剩 余 部 分 被 解 释 成 相 对 当 前 目 录 。 如 果 一 个 路 径 包 含 一 个 不 在 开 始 处 的 分 号 , 则 路 径 被 解 释 成 一 个 绝 对 路 径 。 在 路 径 中 任 何 地 方 的 两 个 或 多 个 分 号 的 序 列 被 用 做 构 造 相 对 路 径 , 这 里 的 :: 参 照 当 前 目 录 的 父 目 录 , ::: 参 照 父 目 录 的 父 目 录 , 以 此 类 推 。 除 了 Macintosh 式 样 的 名 字 , Tcl 还 支 持 Unix 式 名 字 的 一 个 子 集 。 如 果 一 个 路 径 不 包 含 分 号 , 则 把 它 按 一 个 Unix 路 径 来 解 释 。 使 用 斜 杠 作 为 路 径 分 隔 符 。 文 件 名 . 参 照 当 前 目 录 , 而 .. 参 照 当 前 目 录 的 父 目 录 。 但 是 , 象 / 或 /..的 一 些 名 字 没 有 映 射 , 并 被 作 为 Macintosh 名 字 解 释 。 一 般 的 , 生 成 文 件 名 的 命 令 返 回 Macintosh 式 样 的 名 字 , 而 接 收 文 件 名 的 命 令 接 受 Macintosh 和 Unix 式 样 的 两 种 名 字 。 下 列 例 子 展 示 不 同 形 式 的 路 径 名 :
: 到 当 前 文 件 夹 |
(folder)的 相 对 路 径 。
夹 中 的 叫 MyFile的 一 个 文 件 的 相 对 路 径 。
到 在 叫 MyDisk 的 设 备 上 的 一 个 叫 MyFile 的 文 件 的 绝 对 路 径 。 .
到 在 当 前 文 件 夹 中 的 一 个 叫 MyDir的 文 件 夹 中 的 一 个 叫 MyFile 的 文 件 的 相 对 路 径 。
到 在 当 前 文 件 夹 的 上 层 文 件 夹 中 的 一 个 叫 MyFile 的 文 件 的 相 对 路 径 。
到 在 当 前 文 件 夹 的 上 两 层 文 件 夹 中 的 一 个 叫 MyFile 的 文 件 的 相 对 路 径 。
在 叫 MyDisk 的 设 备 上 的 一 个 叫 MyFile 的 文 件 的 绝 对 路 径 。
到 在 当 前 文 件 夹 的 上 层 文 件 夹 中 的 一 个 叫 MyFile 的 文 件 的 相 对 路 径 。 unix 在 Unix 平 台 上 , Tcl 使 用 的 路 径 名 的 组 成 部 分 由 斜 杠 来 分 隔 。 路 径 名 可 以 是 相 对 的 或 绝 对 的 , 并 且 文 件 名 可 以 包 含 除 斜 杠 之 外 的 任 何 字 符 。 文 件 名 . 和 .. 是 特 殊 的 并 且 分 别 参 照 当 前 目 录 和 当 前 目 录 的 父 目 录 。 多 个 毗 接 的 (adjacent)的 斜 杠 被 解 释 为 一 个 单 一 的 分 隔 符 。 下 列 例 子 展 示 不 同 形 式 的 路 径 名 :
etc 目 录 中 的 一 个 叫 passwd 的 文 件 的 绝 对 路 径 。
Relative path to the file foo in the current directory.
文 件 的 相 对 路 径 。
名 字 两
者 。 / 和 \ 二
者 都 可 用 在 两
种 类 型 的 名 字
中 做 分 隔 符 。
相 对 驱 动 器 的
名 字 由 可 选 的
驱 动 器 指 定 符
(specifier)和 随 后 的 绝
对 或 相 对 的 路
径 组 成 。 UNC 路 径
依 从 \\servername\sharename\path\file
的 一 般 形 式 。
在 两 种 形 式 中
, 文 件 名 . 和
.. 是 特 殊 的 并
且 分 别 参 照 当
前 目 录 和 当 前
目 录 的 父 目 录
。 下 列 例 子 展
示 不 同 形 式 的
路 径 名 :
的 相 对 卷 的 路 径 。
的 文 件 的 绝 对 路 径 。
的 文 件 的 相 对 路 径 。
卷 的 路 径 。 波 浪 线 替 换 TILDE SUBSTITUTION除 了 上 述 文 件 名 规 则 之 外 , Tcl 还 支 持 csh 式 样 的 波 浪 线 替 换 。 如 果 一 个 文 件 名 以 一 个 波 浪 线 开 始 , 则 按 文 件 名 的 第 一 个 元 素 被 给 定 用 户 的 主 目 录 的 位 置 所 替 换 来 解 释 。 如 果 波 浪 线 之 后 立 即 跟 随 着 一 个 分 隔 符 , 则 用 $HOME 环 境 变 量 来 替 换 。 否 则 在 波 浪 线 和 下 一 个 分 隔 符 之 间 的 的 字 符 被 接 受 为 一 个 用 户 名 , 它 被 用 来 检 索 用 于 替 换 的 用 户 的 主 目 录 。 Macintosh 和 Windows 不 支 持 对 波 浪 线 跟 随 一 个 用 户 名 的 波 浪 线 替 换 。 在 这 些 平 台 上 , 使 用 波 浪 线 并 跟 随 一 个 用 户 名 的 尝 试 将 生 成 一 个 错 误 。 有 一 个 波 浪 线 而 没 有 用 户 名 的 文 件 名 将 象 Unix 一 样 使 用 $HOME 环 境 变 量 来 替 换 。 移 植 要 点 PORTABILITY ISSUES注 意 所 有 的 文 件 系 统 都 是 大 小 写 敏 感 的 , 所 以 脚 本 应 避 免 依 赖 于 在 文 件 名 中 的 字 符 大 小 写 的 代 码 。 额 外 的 , 在 不 同 设 备 上 允 许 的 字 符 集 可 能 不 同 , 所 以 脚 本 脚 本 应 选 择 不 包 含 特 殊 字 符 如 <>:"/\| 的 文 件 名 。 最 安 全 的 方 式 是 只 使 用 由 字 母 组 成 的 用 户 名 。 还 有 Windows 3.1 只 支 持 有 不 多 于 8个 字 符 的 根 和 不 多 于 3个 字 符 的 扩 展 的 文 件 名 。 关 键 字 KEYWORDScurrent directory, absolute file name, relative file name, volume-relative file name, portability 参 见 SEE ALSO[中 文 版 维 护 人 ]寒 蝉 退 士 [中 文 版 最 新 更 新 ]2001/08/28 《 中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 》 :跋本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh |