📜  Linux 中的 rm -rf 命令示例

📅  最后修改于: 2022-05-13 01:57:27.400000             🧑  作者: Mango

Linux 中的 rm -rf 命令示例

UNIX 中的 rm 命令代表删除,默认情况下用于删除文件。这是一个简单但功能强大的命令,尤其是与 -rf 等选项一起使用时,它可以强制删除非空目录。

在 Linux 中删除文件:

rm 命令,默认情况下,不能删除目录,只能处理文件。

$ mkdir A
$ touch B.txt
$ rm B.txt
$ rm A

Linux中的“rm -rf”命令实际上是做什么的?

我们使用 mkdir 和 touch 命令分别创建目录和文本文件,使用 ls 命令列出当前工作目录中的文件。

在 Linux 中删除多个文件:

要一次删除多个文件,我们可以在 rm 命令后写入以空格分隔的文件名,或者使用模式删除符合该模式的多个文件。



$ rm a b
$ rm *.txt        [Pattern]             
Linux中的“rm -rf”命令实际上是做什么的?

删除多个文件

在 Linux 中删除目录:

要删除目录,您可以使用 -r 或 -R 开关,这会递归删除目录,包括其内容(子目录和文件)。如果它是一个空目录,您也可以使用 rmdir 命令。

$ rm a/
$ rm -R a/
Linux中的“rm -rf”命令实际上是做什么的?

删除目录

使用确认提示删除文件:

要在删除文件时获得确认提示,请使用 -i 选项。

$ rm -i a.txt
Linux中的“rm -rf”命令实际上是做什么的?

通过确认删除文件

使用确认提示删除目录:

要在删除目录及其子目录时获得确认提示,请使用 -R 和 -i 选项。

$ rm -Ri A/
Linux中的“rm -rf”命令实际上是做什么的?

删除目录并确认

强制删除文件或目录:

要强制删除文件或目录,您可以使用选项 -f 强制删除操作,而 rm 不会提示您确认。例如,如果一个文件不可写,rm 会提示您是否删除该文件,以避免这种情况并简单地执行操作。

$ rm -f a.txt

当您结合使用 -r 和 -f 标志时,这意味着您在不提示确认的情况下以递归方式强行删除目录(及其内容)。

$ rm -rf B

在这里,我们创建了一个文本文件和目录,并通过使用 chmod 命令获取其写访问权限将其设为只读。

Linux中的“rm -rf”命令实际上是做什么的?

删除时显示信息:

要在删除文件或目录时显示更多信息,请使用 -v 选项,这将使 rm 命令能够在标准输出上显示正在执行的操作。



$ rm -rv *

Linux中的“rm -rf”命令实际上是做什么的?

rm -rf 命令是防弹的吗?

rm -rf 功能强大,只能绕过嵌套文件的只读访问,而不能绕过目录。要删除目录( B/C ),我们需要通过超级用户权限访问它。

Linux中的“rm -rf”命令实际上是做什么的?

“rm -Rf /”命令:

你应该永远记住“rm -rf”是最危险的命令之一,你永远不应该在 Linux 系统上运行,尤其是作为 root。以下命令将清除 root(/) 分区上的所有内容。

$ sudo rm -rf /

Linux中的“rm -rf”命令实际上是做什么的?

有一些检查可以防止根删除,但附加选项–no-preserve-root绕过故障安全。网上的一个梗,相当于在你的windows os C:\驱动器中删除system32。

$ sudo rm -rf / --no-preserve-root

在任何情况下你都不应该使用上面的命令,对于好奇的人,我使用带有 –no-preserve-root 的命令。在删除了一些重要的文件和目录之后,我只剩下如下所示的挂断输出。

Linux中的“rm -rf”命令实际上是做什么的?

在 Linux 中为 rm 命令创建别名:

要永久使用 -i 选项以确保安全,请在$HOME/.bashrc 文件中添加别名。

alias rm="rm -i"

如图所示获取 .bashrc 文件或打开一个新终端以使更改生效。

$ source $HOME/.bashrc

现在,每当您执行 rm 时,默认情况下都会使用 -i 选项调用它(但使用 -f 标志将覆盖此设置)。

Linux中的“rm -rf”命令实际上是做什么的?

rm 真的删除文件吗?

rm 实际上并不删除文件,而是取消链接它们(释放内存以供进一步使用)。要永久删除数据,您可以使用 shred 或 dd 命令。