All-in-one Collaborative API Development Platform

API Design

API Documentation

API Debugging

API Mock

API Automated Testing

Sign up for free

Curl -o Command in Linux

Start for free
Home / Basic Knowledge / Curl -o Command in Linux

Curl -o Command in Linux

Curl is a linchpin for transferring data between local and remote systems. This post will provide a concise exploration of the "curl -o" command in Linux.

Curl is a linchpin for transferring data between local and remote systems. This post will provide a concise exploration of the "curl -o" command in Linux.

Apidog stands out for its visually engaging API response documentation and intuitive testing tools, featuring assertions and testing branches. For those prioritizing simplicity over intricate cURL commands, it offers an accessible and efficient solution.

curl -o command in Linux

There are many common cURL Commands with Examples, now we will introduce one of them.  The "curl -o" command in Linux is a powerful utility that plays a crucial role in retrieving files from the internet using the command-line tool, curl.

This command is particularly useful when you want to download a file from a remote server and save it with a specific name or location on your local machine. Let's delve into the details of what "curl -o" does and explore an example of its usage.

What does the -o- flag do for CURL?

The -o - (or -o-) flag in cURL (client URL) is used to write the output of the HTTP request to stdout (standard output) instead of saving it to a file.

By default, if you don't specify an output file with the -o option, cURL will display the output on the terminal (stdout). However, using -o- explicitly tells cURL to send the output to stdout, even if an output file is specified later in the command.

What does "curl -o" Do?

The "curl -o" command is used to download a file from a given URL and save it with a specified name or path on the local system. The "-o" flag in curl stands for "output," and this flag allows users to customize the destination of the downloaded file.

This flag is useful in various scenarios, such as:

  • Piping the output: You can pipe the output of cURL to another command or tool for further processing. For example, curl -o- https://example.com | grep "pattern" will fetch the contents of the URL and pipe it to the grep command to search for a specific pattern.
  • Displaying the output in the terminal: If you want to view the output of the request in the terminal without saving it to a file, you can use curl -o- https://example.com.
  • Debugging or inspecting the response: When troubleshooting or analyzing the response from a server, it can be useful to see the raw output in the terminal using curl -o- https://example.com.
  • Scripting and automation: In scripts or automated processes, you may want to capture the output of cURL and process it further within the script, making -o- a handy option.

Example Usage:

Here's a simple example to illustrate how the "curl -o" command works:

curl -o myfile.zip https://example.com/myfile.zip

In this example:

  • curl is the command-line tool for making HTTP requests.
  • -o is the flag indicating that the next argument will be the output file.
  • myfile.zip is the name you want to give to the downloaded file.
  • https://example.com/myfile.zip is the URL of the file you want to download.

Executing this command will download the file from the specified URL and save it locally with the name "myfile.zip."

Advanced Features of "curl -o" Command in Linux

Let's explore some additional aspects and considerations related to the "curl -o" command:

Multiple URLs:

  • You can use "curl -o" with multiple URLs to download multiple files in a single command. For example:
curl -o file1.zip -o file2.zip https://example.com/file1.zip https://example.com/file2.zip
  • This command downloads both files and saves them with their respective names locally.

Resume Downloads:

  • The "-o" flag also allows you to resume interrupted downloads. If a download is interrupted, you can use the same "curl -o" command, and curl will automatically resume the download from where it left off.
  1. Wildcards:
  • You can use wildcards with the "-o" flag to download and save multiple files with similar names. For instance:
curl -o "files-[1-3].txt" https://example.com/files/[1-3].txt
  • This command downloads files-1.txt, files-2.txt, and files-3.txt and saves them with the specified names locally.

Output to Standard Output:

  • If you want to output the downloaded file to the standard output (stdout) instead of saving it to a file, you can use "-o -". This is useful when you want to process the file directly in the terminal without saving it to disk.
curl -o - https://example.com/myfile.txt

Overwriting Existing Files:

  • By default, "curl -o" will overwrite an existing file with the same name without prompting for confirmation. If you want to avoid overwriting, you can use the "-C -" flag, which will append data to the existing file without overwriting it.
curl -C - -o existing_file.txt https://example.com/existing_file.txt

Verbose Output:

  • For more detailed information during the download process, you can use the "-v" or "--verbose" flag with "curl -o" to display verbose output, including headers and progress information.
curl -o file.zip -v https://example.com/file.zip

These additional features provide greater flexibility and control when using the "curl -o" command for downloading files through the command line.


In essence, the "curl -o" command in Linux provides a convenient way to fetch files from the internet via the command line, offering flexibility in naming and storing the downloaded content.

Whether you are automating downloads or managing files in a script, understanding and utilizing the "curl -o" command proves invaluable in efficiently handling remote resources.

Related cURL Command Articles:

How to Use Curl Command in Linux
In this guide, we delve into the intricacies of the curl command, exploring its syntax, options, and practical examples that showcase its versatility in Linux environments.What Is the curl Command?
Curl Command: How to Use Curl-D Option
The ‘-d’ option in the Curl command is used to send data as part of an HTTP POST request. This option allows users to include specific data in the body of the request, enabling the transmission of information to a web server.
Top 12 cURL Commands with Examples
cURL offers powerful features for HTTP/HTTPS requests. Ideal for automation, these commands facilitate user authentication, proxy support, and more. This guide will help you learn how to use various options with curl commands.
How to Call REST API with cURL
cURL is a useful command-line tool for calling REST APIs directly from your terminal or in scripts and automation. In this guide, we’ll cover the basics of using cURL to call with REST APIs.What is a cURL API Call?