'\" te .\" Copyright (c) 2007, 2011, Oracle and/or its affiliates.All rights reserved. .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" 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 rm 1 "2011 年 7 月 27 日" "SunOS 5.11" "用户命令" .SH 名称 rm, rmdir \- 删除目录条目 .SH 用法概要 .LP .nf \fB/usr/bin/rm\fR [\fB-f\fR] [\fB-i\fR] \fIfile\fR... .fi .LP .nf \fB/usr/bin/rm\fR \fB-rR\fR [\fB-f\fR] [\fB-i\fR] \fIdirname\fR... [\fIfile\fR]... .fi .LP .nf \fB/usr/xpg4/bin/rm\fR [\fB-fiRr\fR] \fIfile\fR... .fi .LP .nf \fB/usr/bin/rmdir\fR [\fB-ps\fR] \fIdirname\fR... .fi .SH 描述 .SS "/usr/bin/rm /usr/xpg4/bin/rm" .sp .LP \fBrm\fR 实用程序会删除每个 \fIfile\fR 参数指定的目录条目。如果一个文件没有写入权限,且标准输入为终端,该文件的完整权限集(八进制)后会输出一个问号。这是确认提示。如果回答为肯定,则删除文件,否则保留文件。 .sp .LP 如果 \fIfile\fR 为一个符号链接,则删除链接,但不删除该链接引用的文件或目录。只要用户在目录中拥有写入权限,则用户无需写入权限即可删除符号链接。 .sp .LP 如果指定了多个 \fIfile\fR,且 \fIfile\fR 删除操作由于任何原因失败,则 \fBrm\fR 会向标准错误写入一条诊断消息,不再对当前 \fIfile\fR 进行更多操作,并继续处理余下的 \fI file\fR。 .sp .LP 如果标准输入不是终端,那么实用程序将按照 \fB-f\fR 选项生效的方式操作。 .SS "/usr/bin/rmdir" .sp .LP \fBrmdir\fR 实用程序会删除每个 \fIdirname\fR 操作数指定的目录条目,但操作数必须引用一个空目录。 .sp .LP 目录按照指定的顺序处理。如果 \fBrmdir\fR 的单次调用中指定了一个目录及其子目录,那么子目录必须在父目录之前指定,因此 \fBrmdir\fR 试图删除父目录时,该父目录将为空。 .SH 选项 .sp .LP \fB/usr/bin/rm\fR 和 \fB/usr/xpg4/bin/rm\fR 支持以下选项: .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .RS 6n .rt 递归删除参数列表中的目录和子目录。目录中不含文件,且已被删除。正常情况下,系统将提示用户删除目录包含的任何写入保护文件。但是,如果使用了 \fB-f\fR 选项,或者如果标准输入不是终端且未使用了 \fB-i\fR 选项,系统会在不提示的情况下删除写入保护文件。 .sp 系统不会遍历此选项遇到的符号链接。 .sp 如果尝试删除非空、写入保护的目录,实用程序始终会失败(即使是使用了 \fB-f\fR 选项),并生成错误消息。 .RE .sp .ne 2 .mk .na \fB\fB-R\fR\fR .ad .RS 6n .rt 与 \fB-r\fR 选项相同。 .RE .SS "/usr/bin/rm" .sp .LP \fB/usr/bin/rm\fR 仅支持以下选项: .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 在不提示用户的情况下删除目录中的文件(即使文件为写入保护)。然而,在写入保护的目录中,系统始终不会删除文件(无论其拥有怎样的权限),且不会显示消息。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .RS 6n .rt 交互。使用此选项时,\fBrm\fR 会在删除任何文件之前都提示用户确认。它会覆盖 \fB-f\fR 选项,并始终有效,即使标准输入不是终端。 .RE .SS "/usr/xpg4/bin/rm" .sp .LP \fB/usr/xpg4/bin/rm\fR 仅支持以下选项: .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 6n .rt 不提示用户确认。遇到不存在的操作数时,不写入诊断消息或修改退出状态。忽略此前出现的任何 \fB-i\fR 选项。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .RS 6n .rt 提示用户确认。忽略出现的任何 \fB-f\fR 选项。 .RE .SS "/usr/bin/rmdir" .sp .LP \fB/usr/bin/rmdir\fR 仅支持以下选项: .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 6n .rt 允许用户删除目录 \fIdirname\fR 及其变空的父目录。如果无法删除全部或部分路径,则会向标准错误输出一条消息。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 6n .rt \fB-p\fR 生效时,隐藏在标准错误上输出的消息。 .RE .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 11n .rt 指定要删除的目录条目的路径名。 .RE .sp .ne 2 .mk .na \fB\fIdirname\fR\fR .ad .RS 11n .rt 指定要删除的空目录的路径名。 .RE .SH 用法 .sp .LP 有关 \fBrm\fR 和 \fBrmdir\fR 遇到大于或等于 2 GB(2^31 字节)文件时行为的说明,请参见 \fBlargefile\fR(5)。 .SH 示例 .sp .LP 以下示例对于显示的命令有效。 .SS "/usr/bin/rm, /usr/xpg4/bin/rm" .LP \fB示例 1 \fR删除目录 .sp .LP 以下命令将删除目录条目 \fBa.out\fR 和 \fBcore\fR: .sp .in +2 .nf example% \fBrm a.out core\fR .fi .in -2 .sp .LP \fB示例 2 \fR在不提示的情况下删除目录 .sp .LP 以下命令将在不提示的情况下删除目录 \fBjunk\fR 及其所有内容: .sp .in +2 .nf example% \fBrm -rf junk\fR .fi .in -2 .sp .SS "/usr/bin/rmdir" .LP \fB示例 3 \fR删除空目录 .sp .LP 如果当前目录中的目录 \fBa\fR 为空(除了包含一个目录 \fBb\fR)且 \fBa/b\fR 为空(除了包含一个目录 \fBc\fR),那么以下命令将删除所有三个目录: .sp .in +2 .nf example% \fBrmdir -p a/b/c\fR .fi .in -2 .sp .SH 环境变量 .sp .LP 有关影响 \fBrm\fR 和 \fBrmdir\fR 执行的 \fBLANG\fR、\fBLC_ALL\fR、\fBLC_COLLATE\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR 和 \fBNLSPATH\fR 环境变量的说明,请参见 \fBenviron\fR(5)。 .sp .LP 肯定的回答使用为用户语言环境中 \fBLC_MESSAGES\fR 类别的 \fByesexpr\fR 关键字定义的扩展正则表达式进行处理。\fBLC_COLLATE\fR 类别中指定的语言环境定义为 \fByesexpr\fR 定义的表达式中使用的范围、等效类和多字符整理元素的行为。\fBLC_CTYPE\fR 中指定的语言环境确定文本数据字符字节序列解释的语言环境,以及为 \fByesexpr\fR 定义的表达式中使用的字符类的行为。请参见 \fBlocale\fR(5)。 .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 如果未指定 \fB-f\fR 选项,则会删除所有指定目录条目;否则会删除所有现有的指定目录条目。 .RE .sp .ne 2 .mk .na \fB\fB>0\fR\fR .ad .RS 6n .rt 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .SS "/usr/bin/rm, /usr/bin/rmdir" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ CSIEnabled(已启用) .TE .SS "/usr/xpg4/bin/rm" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/xopen/xcu4 _ CSIEnabled(已启用) _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SH 另请参见 .sp .LP \fBrmdir\fR(2)、\fBunlink\fR(2)、\fBattributes\fR(5)、\fBenviron\fR(5)、\fBlargefile\fR(5)、\fBstandards\fR(5) .SH 诊断 .sp .LP 禁止删除文件 “\fB\&.\fR” 和 “\fB\&..\fR”,以避免无意间执行以下类似操作造成的后果: .sp .in +2 .nf example% \fBrm -r .*\fR .fi .in -2 .sp .sp .LP 禁止删除文件 “\fB/\fR”,以避免无意间执行以下类似操作造成的后果: .sp .in +2 .nf example% \fBrm -rf $x/$y\fR .fi .in -2 .sp .sp .LP 或 .sp .in +2 .nf example% \fBrm -rf /$y\fR .fi .in -2 .sp .sp .LP 当 \fB$x\fR 和 \fB$y\fR 扩展为空字符串时。 .SH 附注 .sp .LP \fB-\fR 允许用户显式标记任何命令行选项的结尾,以让 \fBrm\fR 识别以 \fB-\fR 开始的文件参数。作为 BSD 迁移的辅助功能,\fBrm\fR 接受 \fB- -\fR 作为 \fB-\fR 的等效字符。此迁移助手在未来版本中可能不再提供。如果 \fB- -\fR 和 \fB-\fR 同时出现在同一行中,则会将第二个解释为文件。