这有什么区别:
sudo find /usr/local/mysql/data -type f -exec rm {} ';'
和这个:
sudo rm -rf /usr/local/mysql/data
答案1
sudo find /usr/local/mysql/data -type f -exec rm {} ';'
sudo 将使其以 root 身份运行,然后您使用它find -type f
来获取所有文件(只是文件) 在/usr/local/mysql/data
将对-exec rm{}
找到的每个项目调用并删除该文件。
因此这将递归删除文件,但它会不删除任何目录。另外,该rm
命令不使用-f
参数(force)
rm -rf /usr/local/mysql/data
此命令将彻底删除给定路径中的所有内容,目录和文件已被删除。 -f
因此发行用户将不会收到任何提示。
答案2
前者只会删除文件。后者会删除整个目录结构。
答案3
find /usr/local/mysql/data -type f -delete
只会删除常规文件。目录将保留
rm -rf /usr/local/mysql/data
将会刪除任何事物。