这有什么区别:sudo find /usr/local/mysql/data -type f -exec rm {} ';'

这有什么区别:sudo find /usr/local/mysql/data -type f -exec rm {} ';'

这有什么区别:

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将会刪除任何事物。

相关内容