rm 命令
用途
除去(解链)文件或目录。
语法
描述
rm 命令从目录中除去指定的 File 参数的项。 如果项为到文件的最后链接,那么删除这个文件。 如果没有对文件的写许可权且标准输入为终端,提示输入文件名并询问以确认您想要删除该文件。 如果您输入y(对于 "是") ,将删除该文件,输入任何其他字符,并且不会删除该文件。 不需要对您想要除去的文件的读或写许可权。 然而,必须对包含该文件的目录具有写权限。
如果文件是符号链接,那么除去链接,但是符号链路引用的文件或目录仍在。 如果您有目录的写许可权,那么不需要文件的写许可权就能删除符号链路。
如果其中任何一个文件.(点) 或..(点,点)被指定为 File 参数的基本名部分,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 子命令。
示例
- 要删除文件,请输入:
如果此文件有另一个链接,那么该文件将保留在该名称下,但该名称myfile已除去。 如果myfile是唯一的链接,文件本身被删除。rm myfile - 要删除文件而不先接收确认提示,请输入:rm -f core在rm-f命令尝试删除名为core但是,如果发生以下情况,那么会显示错误消息:core文件是写保护的,并且您不是该文件的所有者或者您没有 root 用户权限。 当 rm -f 命令试图除去不存在的文件时不显示错误消息。
- 要逐个删除文件,请输入:rm -i mydir/*在显示每个文件名后,输入y删除该文件,或按 Enter 键以保留该文件。
- 要删除目录树,请输入:
此命令以递归方式除去该命令的所有子目录的内容。manual目录,并提示您除去每个文件,然后除去manual目录本身,例如:rm -ir manual
在这里, 雷姆 命令首先询问您是否要它搜索manual目录。 因为manual目录包含目录, 雷姆 命令接下来会询问搜索许可权manual/draft1对于要删除的文件,然后询问您是否要将其删除manual/draft1/chapter1和manual/draft1/chapter2格式的文件。 接下来, 雷姆 命令将要求您具有搜索manual/draft2目录。 然后要求获得删除该文件的许可权manual/draft1,manual/draft2和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/draft2) ,那么 雷姆 命令不会除去manual目录。 相反,您会看到以下消息:rm: Directory manual not empty.
文件
| 项 | 描述 |
|---|---|
| /usr/bin/rm | 包含 rm 命令。 |