在我的Unix服务器上,我执行此命令通过unix shell复制folderc中的所有内容。
wget -r -nH --accept=ismv,ismc,ism,jpg --cut-dirs=5 --level=0 --directory-prefix="/root/sstest" -o /root/sstest2.log http://site.com/foldera/folderb/folderc/
来自folderc的所有内容实际上都已复制到/ root / sstest。
复制后wget
不会退出,并将我带回命令提示符。
可能导致此行为的原因是什么?
答案 0 :(得分:9)
我遇到了同样的问题,我只是在URL的前端和末尾添加单引号。 这一步解决了这个问题。
答案 1 :(得分:1)
HTTP服务器可能会错误地响应响应的长度,因此Wget会一直等待更多数据。这可能是由于Wget或服务器(或服务器上运行的软件组件)中的一个错误,您在交互式Web浏览器中没有注意到这一错误。
要进行调试,请确保您运行的是最新版本的Wget。如果问题仍然存在,请使用-d
标志收集调试输出,并在bug-wget@gnu.org
向Wget开发人员发送有关不当行为的报告。确保在发送之前从报告中删除敏感数据(如密码或内部主机名)。
答案 2 :(得分:1)
使用wget:
从Dropbox下载文件时,我发现了类似的问题下载完成(文件已完成)
wget(或curl,取决于我用于下载的内容)在文件完成后不再出现在正在运行的进程中
wget(或curl)不会返回命令提示符
返回命令提示符可以强迫"通过简单地按Enter键,我不必实际杀死任何进程返回命令提示符,在我再按一次输入之前它只是卡住了。
问题不是特定于wget的,当我尝试使用curl从同一位置下载相同的文件时也会出现问题。如果我从几个unix web服务器下载相同的文件,wget和curl都不会出现问题。
我尝试使用超时(使用足够长的时间)强制wget / curl返回命令提示符,但是在超时杀死它们后它们甚至不会返回命令提示符。