在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$
答案 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
此次不会询问任何问题,文件夹中的所有内容现已删除。