Commands.page Logo

Force Wget to Overwrite Existing Files on Ubuntu

When downloading files using the wget command in Ubuntu, the utility avoids data loss by saving new versions of existing files with appended numbers rather than replacing them. This article outlines the specific command-line flags required to force wget to overwrite these files automatically without renaming them or requiring user intervention. You will learn the correct syntax to ensure your downloads replace old data immediately during automated tasks or manual operations.

By default, if you attempt to download a file that already exists in your directory, wget will not delete the original. Instead, it saves the new download with a suffix, such as filename.1 or filename.2. This safety feature prevents accidental data loss but can be inconvenient when you intentionally want to update or replace a file. To bypass this behavior, you must explicitly tell wget to write the output to a specific file name.

The primary method to force an overwrite is using the -O (capital letter) flag followed by the desired filename. This option directs wget to save the downloaded content to the specified file, replacing any existing data without creating a backup copy. You must provide both the output filename and the URL for this command to function correctly.

Here is the basic syntax for overwriting a file:

wget -O filename.zip https://example.com/file.zip

In this example, filename.zip will be overwritten if it already exists. It is important to note that when using the -O flag, you should specify the filename explicitly. If you do not provide a filename after -O, wget will send the output to standard output (your terminal screen) instead of saving it to your disk.

If you need to overwrite files frequently using the default remote filename without typing the name every time, you can combine commands. You can remove the existing file before downloading using the rm command chained with wget. This ensures the file is gone before the download starts, forcing wget to create a fresh file with the default name.

rm -f filename.zip && wget https://example.com/file.zip

Use this method with caution, as deleting the file first means there is no backup if the download fails. For most scripting and automation purposes, the -O flag is the recommended approach because it handles the deletion and writing process in a single atomic operation.