如何通过终端快速删除文件和目录(bash shell)

313 directory terminal file rm rmdir

从终端窗口:

当我使用该rm命令时,它只能删除文件.
当我使用该rmdir命令时,它只删除空文件夹.

如果我有一个目录与文件夹中的文件和文件夹嵌套,等等,有没有办法删除所有的文件和文件夹而没有所有的命令输入?

如果它有所作为,我使用终端的mac bash shell,而不是Microsoft DOS或linux.

Jim*_*wis 719

rm -rf some_dir
Run Code Online (Sandbox Code Playgroud)

-r"recursive"-f"force"(禁止确认消息)

小心!

  • 在Mac上?这样做:'brew install tr​​ash`然后`trash -rf some_dir`这会将不需要的目录移动到您的垃圾箱中,而不是仅仅将_Prestige_样式消失在以太网中.([源(http://hasseg.org/trash/)) (153认同)
  • +1并且很高兴您添加了"小心!" 部分...绝对是一个"Sawzall"命令,可以很快将一个美好的一天变成一个糟糕的一天......如果不小心挥之不去. (24认同)
  • 就像不要做"#rm -rf /"你会后悔的: (5认同)
  • "垃圾"方法很棒! (3认同)

Pri*_*ine 57

rm -rf *
Run Code Online (Sandbox Code Playgroud)

将删除当前目录中的所有内容(文件夹和文件).

不过要小心!如果您完全确定,只有执行此命令才能执行此命令.

  • rm -rf是一个非常危险的命令,你应该小心并指定要删除的文件夹. (17认同)
  • 如何首先运行`ls -R*`以查看`rm -rf*`将删除的内容 (7认同)

Ant*_*sky 12

就在这里.该-r选项告诉rm- [R ecursive,并删除其参数为根的整个文件层次; 换句话说,如果给定一个目录,它将删除其所有内容,然后执行有效的操作rmdir.

您应该知道的其他两个选项是-i-f. -i代表 nteractive; 它会rm在删除每个文件之前提示您. -f代表f ;; 它继续前进并删除所有内容而不询问. -i更安全,但-f速度更快; 只有在你完全确定你正在删除正确的东西时才使用它.您可以指定-r或不指定; 这是一个独立的环境.

像往常一样,你可以组合开关:rm -r -i只是rm -ri,而且rm -r -frm -rf.

另请注意,您正在学习的内容适用bash于每个Unix操作系统:OS X,Linux,FreeBSD等.实际上,每个Unix操作系统上的每个shell中rm的语法都是相同的.引擎盖下的OS X实际上是一个BSD Unix系统.