UNIX:递归删除目录/文件

时间:2020-01-09 10:46:11  来源:igfitidea点击:

如何删除(删除)名为$HOME/foo的目录及其内容,包括Unix下类似操作系统的所有文件和子目录?
完全删除/tmp/foo /及其所有内容的最佳方法是什么?

您需要使用rm命令行实用程序删除命令行上指定的文件(和目录)。
以下命令将从$HOME/foo目录中删除所有内容,包括子目录和文件。
所以要小心您将无法从$HOME/foo目录中恢复文件或者子目录。
你被警告了。
为了删除目录,必须使用-r或者-R选项。
此选项以递归的方式删除传递给rm命令的参数列表中的目录及其内容。
通常会提示用户删除目录中所有写保护的文件,除非最终用户使用了-f选项。
语法如下:

rm -rf /path/to/dir
rm -rf $HOME/foo/
rm -rfi $HOME/foo/

其中:

  • -r或者-R:尝试删除以$HOME/foo /为根的文件层次结构,即删除所有目录的内容,包括所有文件和子目录。
  • -f:尝试删除文件而不提示确认,无论文件许可权如何。
  • -i:尝试删除每个文件之前请求确认,无论文件许可权如何