rm 命令

用途

除去(解链)文件或目录。

语法

雷姆 [  ] [  -r ] [  -R ] [  -一 ] [  -e ] 文件 ...

描述

rm 命令从目录中除去指定的 File 参数的项。 如果项为到文件的最后链接,那么删除这个文件。 如果没有对文件的写许可权且标准输入为终端,提示输入文件名并询问以确认您想要删除该文件。 如果您输入y(对于 "是") ,将删除该文件,输入任何其他字符,并且不会删除该文件。 不需要对您想要除去的文件的读或写许可权。 然而,必须对包含该文件的目录具有写权限。

如果文件是符号链接,那么除去链接,但是符号链路引用的文件或目录仍在。 如果您有目录的写许可权,那么不需要文件的写许可权就能删除符号链路。

如果其中任何一个文件.(点) 或..(点,点)被指定为 File 参数的基本名部分,rm 命令将诊断消息写至标准错误且不再对此类参数执行任何操作。

如果未指定 - 标志,并且 文件 参数不具有写许可权,并且标准输入是工作站,或者指定了 -一 标志,那么 雷姆 命令会将提示写入标准错误,并从标准输入中读取一行。 如果没有确认响应,rm 命令不再对当前文件做任何操作并继续处理下一个文件。

如果设置了目录粘滞位而目录不为用户所有,其他用户所有的文件不能被除去。

注: rm 命令支持 - (短划线,短划线) 参数作为指示标志结束的定界符。

尝试除去某个已导出供 NFS V4 服务器使用的文件或目录将会失败,并出现一条消息,指示资源正忙。 必须取消供 NFS V4 使用的目录和文件的导出,这样才能除去它。

标志

描述
-e 在每一个文件被删除后显示消息。
-f 在除去有写保护的文件前不提示。 如果指定的文件不存在,不显示错误消息或返回错误状态。 如果 -f-i 标志都被指定,最后指定的标志起作用。
-一 删除每个文件前提示。 但一起使用 -i-r 标志时, rm 命令在删除目录前也提示。 如果 -i-f 标志都被指定,最后指定的标志起作用。
描述
-r File 参数为目录时允许循环的删除目录及其内容。 本标志等同于 -R 标志。
-R File 参数为目录时允许循环的删除目录及其内容。 本标志等同于 -R 标志。

退出状态

本命令返回以下退出值:

描述
重大安全事件数量 如果没有指定 -f 标志,除去所有指定的目录项;否则,除去所有现有的指定目录项。
>0 发生错误。

安全性

RBAC 用户和 TrustedAIX®用户请注意:此命令可执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要删除文件,请输入:
    rm myfile
    如果此文件有另一个链接,那么该文件将保留在该名称下,但该名称myfile已除去。 如果myfile是唯一的链接,文件本身被删除。
  2. 要删除文件而不先接收确认提示,请输入:
    rm  -f core
    rm-f命令尝试删除名为core但是,如果发生以下情况,那么会显示错误消息:core文件是写保护的,并且您不是该文件的所有者或者您没有 root 用户权限。 当 rm -f 命令试图除去不存在的文件时不显示错误消息。
  3. 要逐个删除文件,请输入:
    rm  -i mydir/*
    在显示每个文件名后,输入y删除该文件,或按 Enter 键以保留该文件。
  4. 要删除目录树,请输入:
    rm -ir manual
    此命令以递归方式除去该命令的所有子目录的内容。manual目录,并提示您除去每个文件,然后除去manual目录本身,例如:
    You:  rm -ir manual
    System: rm: Select files in directory manual? Enter y for yes.
    You:  y
    System: rm: Select files in directory manual/draft1? Enter y for yes.
    You:  y
    System: rm: Remove manual/draft1?
    You:  y
    System: rm: Remove manual/draft1/chapter1?
    You:  y
    System: rm: Remove manual/draft1/chapter2?
    You:  y
    System: rm: Select files in directory manual/draft2? Enter y for yes.
    You:  y
    System: rm: Remove manual/draft2?
    You:  y
    System: rm: Remove manual?
    You:  y
    在这里, 雷姆 命令首先询问您是否要它搜索manual目录。 因为manual目录包含目录, 雷姆 命令接下来会询问搜索许可权manual/draft1对于要删除的文件,然后询问您是否要将其删除manual/draft1/chapter1manual/draft1/chapter2格式的文件。 接下来, 雷姆 命令将要求您具有搜索manual/draft2目录。 然后要求获得删除该文件的许可权manual/draft1,manual/draft2manual 目录。

    如果您拒绝除去某个子目录的许可权 (例如,manual/draft2) ,那么 雷姆 命令不会除去manual目录。 相反,您会看到以下消息:rm: Directory manual not empty.

文件

描述
/usr/bin/rm 包含 rm 命令。