Linux 什么';rm-rf和rm-r的区别是什么?
在linux中,“rm-rf”和“rm-r”之间的区别是什么?它们似乎都做相同的事情(删除整个目录) 下面是我为测试它而运行的几个命令:Linux 什么';rm-rf和rm-r的区别是什么?,linux,command,rm,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.ja
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$
rm-rf
忽略不存在的文件,并且在删除之前从不提示
rm-r
递归删除目录及其内容。
-f
选项用于删除提示
-r
选项用于递归工作
假设我们有一个名为stackoverflow
的文件夹,其内容为image.jpg otherimage.jpg mydog.doc
输入rm-r stackoverflow
后,终端可能会说:rm:down to 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
这次将不会提出任何问题,文件夹中的所有内容现在都被删除。当您选中
man rm
时,您学到了什么?在rm-r
或rm-rf
命令之前尝试chmod a-w foo1/main.java
,您很可能会看到主要区别。