当使用 wget 的 -O 标志时,程序会在失败时写入一堆零字节文件。
我的问题是,大小总是为零吗?或者,下载失败时是否也可以创建非零字节文件?
我正在编写一个脚本,我的假设是只有零字节文件才表示失败。
答案1
不,如果出现错误,则不能保证文件为空。如果下载过程中出现错误,则在此之前下载的内容将保留在输出文件中。
只有在HTTP协议收到错误的情况下,文件才会为空。
我甚至做了一个测试,下载了一个文件并在中途停止了 HTTP 服务器。
dd [ <=> ] 1.01K --.-KB/s in 0s
2015-12-14 12:53:40 (9.69 MB/s) - 读取字节 1038 处发生错误(成功)。正在重试。
因此 wget 将会重试,但如果不成功,则会写入部分文件。