rm -rf和rm -r有什么区别?

时间:2018-05-03 18:32:44

标签: linux command rm

在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$ 

2 个答案:

答案 0 :(得分:0)

rm -rf会忽略不存在的文件,并且在删除之前不会提示。

rm -r递归删除目录及其内容。 https://www.computerhope.com/unix/urm.htm

答案 1 :(得分:0)

-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

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