代码之家  ›  专栏  ›  技术社区  ›  mdash1

rm-rf和rm-r之间有什么区别?[已关闭]

  •  0
  • mdash1  · 技术社区  · 6 年前

    在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 回复  |  直到 6 年前
        1
  •  5
  •   Tuğberk Kaan Duman    4 年前

    -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

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

        2
  •  1
  •   R.P.    6 年前

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

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