unlink.1

RM(1)

RM(1)

FreeBSD General Commands Manual

RM(1)

rm, unlink

删除目录条目

rm [-f | -i] [-dIRrvWx] file ... unlink [--] file

rm 实用程序尝试删除命令行中指定的非目录类型文件。 如果文件的权限不允许写入,并且标准输入设备是终端,则会提示用户(在标准错误输出上)进行确认。

选项如下:

-d

尝试删除目录以及其他类型的文件。

-f

无论文件的权限如何,都尝试在不提示确认的情况下删除文件。- 如果文件不存在,请不要显示诊断消息或修改退出状态以反映错误。 -f 选项覆盖任何以前的 -i 选项。

-i

在尝试删除每个文件之前请求确认,无论文件的权限如何,或者标准输入设备是否是终端。 -i 选项覆盖任何以前的 -f 选项。

-I

如果要删除三个以上的文件或递归删除一个目录,则请求确认一次。- 这是一个比 -i 更少侵入性的选项,但提供了几乎相同级别的错误保护。

-P

此标志无效。 保留它只是为了向后兼容 4.4BSD-Lite2 。

-R

尝试删除以每个 file 参数为根的文件层次结构。 -R 选项意味着 -d 选项。如果指定了 -i 选项,则在处理每个目录的内容之前(以及在尝试删除目录之前)提示用户确认。- 如果用户没有做出肯定的响应,则跳过以该目录为根的文件层次结构。

-r

相当于 -R

-v

删除文件时要详细,在删除时显示它们。

-W

尝试取消删除命名文件。 目前,此选项只能用于恢复联合文件系统中被白字覆盖的文件(请参阅 undelete(2) )。

-x

删除层次结构时,请勿交叉安装点。

rm 实用程序删除符号链接,而不是链接引用的文件。

尝试删除文件 / 、 . 或 .. 时出错。

当该实用程序被调用为 unlink 时,只能提供一个参数,该参数不能是目录。 在这种简单的操作模式中不能提供任何选项,它对传递的参数执行 unlink(2) 操作。- 但是,通常的选项结束分隔符 -- 可以选择在参数之前。

如果删除了所有命名文件或文件层次结构,或者指定了 -f 选项并且删除了所有现有文件或文件层次结构,则 rm 实用程序退出 0。 如果发生错误, rm 的值退出。

rm 命令使用 getopt(3) 解析其参数,这允许它接受 ‘--’ 选项,这将导致它在该点停止处理标志选项。- 这将允许删除以破折号 (‘-’) 开头的文件名。例如:

rm -- -filename

通过使用绝对或相对路径引用可以获得相同的行为。例如:

rm /home/user/-filename

rm ./-filename

递归删除 foobar 目录层次结构中包含的所有文件:

$ rm -rf foobar

这些命令中的任何一个都将删除文件 -f:

$ rm -- -f $ rm ./-f $ unlink -f

rm 实用程序与历史实现的不同之处在于 -f 选项仅屏蔽删除不存在文件的尝试,而不是屏蔽大量错误。 -v 选项是非标准的,不建议在脚本中使用它。

此外,历史 BSD 实现在标准输出上提示,而不是标准错误输出。

-P 选项从 FreeBSD 13 起没有任何作用,将来可能会被删除。

chflags(1), rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7)

rm 命令符合 IEEE Std 1003.1-2008, 2013 Edition (“POSIX.1”) 。

简化的 unlink 命令符合 Version 2 of the Single UNIX Specification (“SUSv2”) 的第 2 版。

rm 命令出现在 Version 1 AT&T UNIX 中。

November 10, 2018

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区