wget命令中-P与-O参数无法协同工作的问题求助
解决wget中-P与-O参数冲突的问题
问题本质
这不是wget的bug,是设计逻辑:当使用-O(指定输出文件名)时,-P(指定目录前缀)会被忽略——因为-O的优先级更高,它直接定义了输出的完整路径(仅写文件名时默认输出到当前工作目录)。
解决方法
方法1:在-O中直接指定完整目标路径
把目标目录和文件名合并到-O参数中,无需再使用-P:
wget -O test/test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
执行后文件会被保存到home/test/test.doc,完全符合预期。
方法2:先切换到目标目录再下载
如果目标目录层级较深,可先进入目标目录,再用-O重命名:
cd test/ && wget -O test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
方法3:使用绝对路径(可选)
若担心相对路径出错,直接用绝对路径指定输出位置:
wget -O /home/test/test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
验证效果
执行上述任一命令后,目录结构将变为:
home/ ├─ test/ │ ├─ test.doc
内容的提问来源于stack exchange,提问作者spenpal
相关产品推荐
相关产品推荐

