移动文件和文件夹,除非less数

我把一个服务器的网站移到另一个服务器时犯了一个可怕的错误。 我们使用virtualmin在新服务器中创build了虚拟主机。 但是,当从旧服务器恢复文件到新服务器,我错误地复制“/ home / VIRTUALHOSTS-NAME /”中的所有文件,而不是“/ home / VIRTUALHOSTS-NAME / public_html”。 现在,我必须将所有文件从虚拟主机的主目录移动到public_html目录,除了像fcgi-bin,public_html,awstats,cgi-bin这样的几个默认文件夹,可以通过shell脚本或任何带pipe道的命令?

假设你的shell是bash,

shopt -s extglob mv !(fcgi-bin|public_html|awstats|cgi-bin|...) public_html 

是的, rsync能够做到这一点的开箱即用。 有许多命令行参数可以随意调整它。

假设你在一个rsync可用的操作系统上。