Hello! 欢迎来到小浪云!


Linux中用 Wget 下载时重命名文件


avatar
小浪云 2024-12-09 20


?Linux中wget是一种非常实用的命令行工具,可以用于在网络上下载文件。默认情况下,wget会把下载的文件存为URL中指定的文件名。如果想要重命名下载的文件。可以通过以下几种方式来实现。

通过大写字母O选项直接指定文件名。wget命令提供的-O选项可以允许指定下载文件的保存路径和名称。这也是最直接方法:

wget -O new_filename.ext http://example.com/old_filename.ext

其中new_filename.ext是想要保存的文件名,http://example.com/old_filename.ext是文件的URL。

还可以使用content-disposition选项。如果服务器在HTTP响应头重提供了Content-Disposition字段,wget可以使用这个字段来确定文件名。

wget –content-disposition http://example.com/file

使用header选项来修改请求头。一些情况服务器可能不能提供Content-Disposition或者是提供文件名无法满足实际需求,可以使用header来修改或者添加请求头,尝试获取正确的文件名。

wget –header ‘Accept: application/octet-stream’ http://example.com/file

当不想在下载时去指定文件名,还可以直接在下载后使用shell命令来重命名文件。

wget http://example.com/filemv file.html new_filename.html

上述命令中,mv命令用于将下载的file.html重命名为new_filename.html。

可以用-P选项指定下载目录。wget还允许你使用-P(或–Directory-prefix)选项指定下载文件的目录。

wget -P /path/to/download/directory -O new_filename.ext http://example.com/old_filename.ext

这将下载文件到指定目录,并使用-O选项重命名文件。

确保你有足够的权限在指定的目录中创建和写入文件。使用-O选项时,如果目标文件已存在,wget会覆盖它,除非你使用了-nc(–no-clobber)选项,这将阻止wget覆盖已存在的文件。通过这些方法,你可以灵活地在使用wget下载文件时重命名文件。

在使用linux下载文件时没出现终端,可以使用wget断点续传功能来继续下载。如可以使用c或continue选项,当再次运行wget命令时,只要添加c或continue选项,wget就会检查之前下载的部分文件,并尝试从中断地方继续下载:

wget -c http://example.com/largefile.zip

wget –continue http://example.com/largefile.zip

如果是有多个文件需要下载,或者要保证wget在出现错误时自动尝试恢复,可以在.wgetrc配置文件中设置默认使用c选项,.wgetrc文件一般是在用户主目录下,可以 添加以下行:

continue = on

这样每次运行完wget时,都会默认尝试继续之前下载。

有时候,可能需要检查部分下载的文件是否存在:

ls -lh | grep -i wget

以上命令会列出全部包含wget文件,一般部分下载的文件会用.1、.2等扩展名结束。

手动来删除不需要的部分下载文件,或者想从头开始下载:

rm partial_file.*

要注意保证partial_file.*

替换成实际部分下载文件的名称。

当下载经常被中断,可以尝试设置wget在失败后重试的次数:

wget -t 3 http://example.com/largefile.zip

以上命令可以设置最多重试3次,如果在管理下载任务时出现未完整下载情况,可以尝试一上方法,如果需要更多帮助可以联系小浪云。

相关阅读