当使用 wget 进行网站镜像时,默认情况下,wget 会在本地创建完整的目录结构来镜像远程服务器的目录结构。如果您不希望创建这些额外的父目录,可以使用 -nH(--no-host-directories)选项,这样 wget 就不会创建顶级主机目录。同时,如果您还想进一步避免创建任何目录,可以加上 --cut-dirs=X 选项,其中 X 是您希望跳过的目录层数。
例如,如果您要从 http://example.com/files/data/ 镜像 data 目录,而不创建任何父目录,可以这样使用命令:
bashwget -r -nH --cut-dirs=2 --no-parent http://example.com/files/data/
这里的参数说明如下:
-r: 递归下载。-nH: 不创建主机目录。--cut-dirs=2: 忽略 URL 中的前两级目录(files和data之前的目录)。--no-parent: 防止wget回溯到父目录中去获取内容。
使用这种方式,您可以直接在当前目录下开始镜像 data 目录的内容,而不会创建任何其他父级或主机目录。这样做可以帮助保持本地目录的整洁,并且使得管理下载的文件更加方便。
2024年7月30日 00:23 回复