首页 > 解决方案 > rm -rf 和 rm -r 有什么区别?

问题描述

在linux中,'rm -rf'和'rm -r'有什么区别,两者似乎都做同样的事情(删除整个目录)。

这是我运行来测试它的一些命令:

mohammad@mohammad-ThinkPad-E570:~/testerr$ ls
mohammad@mohammad-ThinkPad-E570:~/testerr$ mkdir foo1 foo2
mohammad@mohammad-ThinkPad-E570:~/testerr$ touch foo1/main.java foo2/main.java
mohammad@mohammad-ThinkPad-E570:~/testerr$ tree
.
├── foo1
│   └── main.java
└── foo2
    └── main.java

2 directories, 2 files
mohammad@mohammad-ThinkPad-E570:~/testerr$ rm -r foo1
mohammad@mohammad-ThinkPad-E570:~/testerr$ ls
foo2
mohammad@mohammad-ThinkPad-E570:~/testerr$ rm -rf foo2
mohammad@mohammad-ThinkPad-E570:~/testerr$ tree
.

0 directories, 0 files
mohammad@mohammad-ThinkPad-E570:~/testerr$ 

标签: linuxcommandrm

解决方案


-f选项可以删除提示。

-r选项可以递归工作。

假设我们有一个文件夹stackoverflow,其内容命名为image.jpg otherimage.jpg mydog.doc

打字rm -r stackoverflow终端可能会说:rm: descend into write-protected directory 'stackoverflow'?如果你说它y会问你新的问题。

rm: remove write-protected regular file stackoverflow/image.jpg'?
rm: remove write-protected regular file stackoverflow/otherimage.jpg'?
rm: remove write-protected regular file stackoverflow/mydog.doc'?

基本上,它会询问您是否要执行此操作的每一步。

现在让我们尝试rm -rf stackoverflow

这次不会询问任何问题,文件夹内的所有内容现在都已删除。


推荐阅读