'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 2008, 2011, Oracle and/or its affiliates.All rights reserved. .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase "this text" refers to portions of the system documentation.Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document.The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.This notice shall appear on any product containing this material. .TH cd 1 "2011 年 7 月 12 日" "SunOS 5.11" "用户命令" .SH 名称 cd, chdir, pushd, popd, dirs \- 更改工作目录 .SH 用法概要 .LP .nf \fB/usr/bin/cd\fR [\fIdirectory\fR] .fi .SS "sh" .LP .nf \fBcd\fR [\fIargument\fR] .fi .LP .nf \fBchdir\fR [\fIargument\fR] .fi .SS "csh" .LP .nf \fBcd\fR [\fIdir\fR] .fi .LP .nf \fBchdir\fR [\fIdir\fR] .fi .LP .nf \fBpushd\fR [\fB+\fR\fIn\fR | \fIdir\fR] .fi .LP .nf \fBpopd\fR [\fB+\fR\fIn\fR] .fi .LP .nf \fBdirs\fR [\fB-l\fR] .fi .SS "ksh88、ksh" .LP .nf \fBcd\fR [\fB-L\fR] [\fB-P\fR] [\fIarg\fR] .fi .LP .nf \fBcd\fR \fIold\fR \fInew\fR .fi .SH 描述 .SS "/usr/bin/cd" .sp .LP \fB/usr/bin/cd\fR 实用程序仅更改 \fBcd\fR 实用程序上下文中的当前目录。这与 shell 的内置版本不同。\fB/usr/bin/cd\fR 不影响调用进程,但是可以用于确定是否可以将指定目录设置为当前目录。 .SS "sh" .sp .LP Bourne shell 内置 \fBcd\fR 将当前目录更改为 \fIargument\fR。shell 参数 \fBHOME\fR 是缺省的 \fIargument\fR。shell 参数 \fBCDPATH\fR 定义包含 \fIargument\fR 的目录的搜索路径。备用路径名称使用冒号 (\fB:\fR) 分隔。缺省路径是 \fB\fR(指定当前目录)。当前目录是通过空路径名指定的,可以直接显示在等号之后或显示在路径列表中任何其他位置的冒号分隔符之间。如果 \fIargument\fR 以 `\fB/\fR'、`\fB\&.\fR' 或 `\fB\&. .\fR' 开头,则不使用搜索路径。否则,在路径的每个目录中搜索 \fIargument\fR。\fBcd\fR 在 \fIargument\fR 中必须具有执行(搜索)权限。由于创建新的进程执行每个命令,如果将 \fBcd\fR 写为常规命令则无效;因此,它可以在 shell 内部识别。(请参见 \fBpwd\fR(1)、\fBsh\fR(1) 和 \fBchdir\fR(2))。 .sp .LP \fBchdir\fR 只不过是调用 \fBcd\fR 的另一种方式。 .SS "csh" .sp .LP 如果未指定 \fIdir\fR,则 C shell 内置 \fBcd\fR 将 shell 参数 \fBHOME\fR 的值用作新的工作目录。如果 \fIdir\fR 指定以 `\fB/\fR'、`\fB\&.\fR' 或 `\fB\&. .\fR' 开头的完整路径,则 \fIdir\fR 成为新的工作目录。如果两种情况都不适用,则 \fBcd\fR 尝试相对于 \fBCDPATH\fR shell 变量指定的路径之一查找指定的目录。\fBCDPATH\fR 具有与 \fBPATH\fR shell 变量相同的语法和相似的语义。\fBcd\fR 在 \fIdir\fR 中必须具有执行(搜索)权限。由于创建新的进程执行每个命令,如果将 \fBcd\fR 写为常规命令则无效;因此,它可以在 C-shell 内部识别。(请参见 \fBpwd\fR(1)、\fBsh\fR(1) 和 \fBchdir\fR(2))。 .sp .LP \fBchdir\fR 将 shell 的工作目录更改为目录 \fIdir\fR。如果未指定参数,则更改为用户的起始目录。如果 \fIdir\fR 是当前目录中找不到的相对路径名,则在 \fBcdpath\fR 变量列出的那些目录中查找该路径名。如果 \fIdir\fR 是其值以 \fB/\fR 开头的 shell 变量的名称,则更改为该值指定的目录。 .sp .LP \fBpushd\fR 将目录推送到目录栈中。没有参数时,交换顶部的两个元素。 .sp .ne 2 .mk .na \fB\fB+\fR\fIn\fR\fR .ad .RS 7n .rt 将第 \fIn\fR 项置于栈的顶部并使用 \fBcd\fR 更改到该项。 .RE .sp .ne 2 .mk .na \fB\fIdir\fR\fR .ad .RS 7n .rt 将当前工作目录推送到栈中并更改为 \fIdir\fR。 .RE .sp .LP \fBpopd\fR 弹出目录栈并使用 \fBcd\fR 更改为新的顶部目录。目录栈的元素从 0 开始从上至下编号。 .sp .ne 2 .mk .na \fB\fB+\fR\fIn\fR\fR .ad .RS 6n .rt 弃置栈中的第 \fIn\fR 项。 .RE .sp .LP \fBdirs\fR 列显目录栈,左边是最近的目录;列显的第一个目录即为当前目录。使用 \fB-l\fR 参数,输出的内容不采用缩写;禁止使用 \fB~\fR 表示法。 .SS "ksh88、ksh" .sp .LP Korn shell 内置 \fBcd\fR 命令可以为两种形式之一。在第一种形式中,它将当前目录更改为 \fIarg\fR。如果 \fIarg\fR 为 \fB-\fR,目录将被更改为以前的目录。shell 变量 \fBHOME\fR 是缺省的 \fIarg\fR。将环境变量 \fBPWD\fR 设置为当前目录。如果更改了 \fBPWD\fR,则还应将 \fBOLDPWD\fR 环境变量更改为之前的工作目录值,即调用更改目录 (\fBcd\fR) 之前最近的当前工作目录。shell 变量 \fBCDPATH\fR 定义包含 \fIarg\fR 的目录的搜索路径。备用路径名称使用冒号 (\fB:\fR) 分隔。缺省路径是 \fBnull\fR(指定当前目录)。当前目录是通过空路径名指定的,可以直接显示在等号之后或显示在路径列表中任何其他位置的冒号分隔符之间。如果 \fIarg\fR 以 `\fB/\fR'、`\fB\&.\fR' 或 `\fB\&. .\fR' 开头,则不使用搜索路径。否则,将搜索路径中每个目录的 \fIarg\fR。如果失败,\fBcd\fR 会尝试将目录更改为通过串联 PWD 值、斜杠字符和 arg 而组成的路径名。 .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .RS 6n .rt 以逻辑方式处理双点 (\fB\&..\fR) 运算。在处理双点组件之前,\fB不\fR解析符号链接组件。 .RE .sp .ne 2 .mk .na \fB\fB-P\fR\fR .ad .RS 6n .rt 以物理方式处理操作数双点。在处理双点组件之前,\fB\fR解析符号链接组件。 .RE .sp .LP 如果同时指定了 \fB-L\fR 和 \fB-P\fR 选项,则使用要调用的最后一个选项而忽略另一个选项。如果 \fB-L\fR 或 \fB-P\fR 都未指定,则按照双点逻辑处理操作数。 .sp .LP \fBcd\fR 的第二种形式在当前目录名称 \fIPWD\fR 中用字符串 \fInew\fR 替换字符串 \fBold\fR,并尝试更改为此新目录。 .sp .LP 不能通过 \fBrksh\fR 执行 \fBcd\fR 命令。由于创建新的进程执行每个命令,如果将 \fBcd\fR 写为常规命令则无效;因此,它可以在 Korn shell 内部识别。(请参见 \fBpwd\fR(1)、\fBsh\fR(1) 和 \fBchdir\fR(2))。 .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIdirectory\fR\fR .ad .RS 13n .rt 成为新的工作目录的绝对或相对目录路径名。\fBcd\fR 对于相对路径名的解释取决于 \fBCDPATH\fR 环境变量。 .RE .SH 输出 .sp .LP 如果使用 \fBCDPATH\fR 的非空目录名,则将新工作目录的绝对路径名写入标准输出,如下所示: .sp .LP \fB"%s\n"\fR, <\fInew directory\fR> .sp .LP 否则,无输出。 .SH 环境变量 .sp .LP 有关影响 \fBcd\fR 执行的以下环境变量的说明,请参见 \fBenviron\fR(5):\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR 和 \fBNLSPATH\fR。 .sp .ne 2 .mk .na \fB\fBCDPATH\fR\fR .ad .RS 10n .rt 引用目录的冒号分隔的路径名列表。如果 \fIdirectory\fR 操作数不以斜杠 \fB(\fR\fB/\fR\fB)\fR 字符开头,并且第一个组件不是点或双点,则 \fBcd\fR 相对于 \fBCDPATH\fR 变量中指定的每个目录按照列出的顺序搜索 \fIdirectory\fR。将新工作目录设置为找到的第一个匹配的目录。如果是空字符串,而非目录路径名,则表示当前目录。如果未设置 \fBCDPATH\fR,则像空字符串一样对其进行处理。 .RE .sp .ne 2 .mk .na \fB\fBHOME\fR\fR .ad .RS 10n .rt 未指定 \fIdirectory\fR 操作数时使用的起始目录名称。 .RE .sp .ne 2 .mk .na \fB\fBOLDPWD\fR\fR .ad .RS 10n .rt \fBcd-\fR 使用的前一个工作目录的路径名。 .RE .sp .ne 2 .mk .na \fB\fBPWD\fR\fR .ad .RS 10n .rt 在更改为该目录后 \fBcd\fR 设置的当前工作目录路径名。 .RE .SH 退出状态 .sp .LP \fBcd\fR 返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 目录已成功更改。 .RE .sp .ne 2 .mk .na \fB\fB>0\fR\fR .ad .RS 6n .rt 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .SS "csh、ksh88、sh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SS "ksh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ 接口稳定性Uncommitted(未确定) .TE .SH 另请参见 .sp .LP \fBcsh\fR(1)、\fBksh\fR(1)、\fBksh88\fR(1)、\fBpwd\fR(1)、\fBsh\fR(1)、\fBchdir\fR(2)、\fBattributes\fR(5)、\fBenviron\fR(5)、\fBstandards\fR(5)