Answers:
rm -rf some_dir
-r“递归” -f“强制”(禁止确认消息)
小心!
rm -rf *
将删除当前目录中的所有内容(文件夹和文件)。
但小心点!仅在绝对确定您位于正确的目录中时,才执行此命令。
ls -R *
先来看看什么会被删除rm -rf *
就在这里。该-r
选项告诉rm
是- [R ecursive,并删除其参数为根的整个文件层次; 换句话说,如果给定目录,它将删除其所有内容,然后执行有效的rmdir
。
您应该知道的其他两个选项是-i
和-f
。 -i
代表我 nteractive; 它会rm
在删除每个文件之前提示您。 -f
代表˚F奥尔塞; 它会继续进行,并删除所有内容而无需询问。 -i
更安全,但-f
速度更快;仅在绝对确定要删除正确的内容时使用它。您可以选择是否指定-r
;这是一个独立的设置。
和往常一样,您可以组合使用开关:rm -r -i
just rm -ri
和rm -r -f
is rm -rf
。
还要注意,您所学的内容适用bash
于每个Unix OS:OS X,Linux,FreeBSD等。实际上,在每个Unix OS的rm
几乎所有shell中,的语法都是相同的。实际上,OS X实际上是BSD Unix系统。
"rm -d"
,它可以删除文件或空目录。不过,对于OS X在内部是BSD而言,+ 1。
因此,我一直在寻找一种删除目录中所有文件的方法,除了某些目录和文件,我想保留它们。经过大量搜索后,我设计了一种使用find进行搜索的方法。
find -E . -regex './(dir1|dir2|dir3)' -and -type d -prune -o -print -exec rm -rf {} \;
本质上,它使用正则表达式选择要从结果中排除的目录,然后删除其余文件。只是想把它放到这里,以防其他人需要它。