Skip to content

Commit

Permalink
usingcurl/downloads/url-named.md: add --output-dir
Browse files Browse the repository at this point in the history
Fixes #470
Closes #476
  • Loading branch information
bagder committed Jun 17, 2024
1 parent c1f88c0 commit 61554db
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
1 change: 1 addition & 0 deletions index-words
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
--no-eprt
--no-epsv
--ntlm
--output-dir
--parallel
--parallel-immediate
--parallel-max
Expand Down
22 changes: 17 additions & 5 deletions usingcurl/downloads/url-named.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,39 @@
# Download to a file named by the URL

Many URLs, however, already contain the filename part in the rightmost
end. curl lets you use that as a shortcut so you do not have to repeat it with
Many URLs, however, already contain the filename part in the rightmost end.
curl lets you use that as a shortcut so you do not have to repeat it with
`-o`. Instead of:

curl -o file.html http://example.com/file.html

You can save the remote URL resource into the local file 'file.html' with this:
You can save the remote URL resource into the local file 'file.html' with
this:

curl -O http://example.com/file.html

This is the `-O` (uppercase letter o) option, or `--remote-name` for the long
name version. The -O option selects the local filename to use by picking the
name version. The `-O` option selects the local filename to use by picking the
filename part of the URL that you provide. This is important. You specify the
URL and curl picks the name from this data. If the site redirects curl further
(and if you tell curl to follow redirects), it does not change the filename
curl uses for storing this.

## Store in another directory

When the correct filename to use has been selected as explained above, you can
still change the directory in which that file will be saved by using
`--output-dir`. It is especially useful in combination with `-O` of course, as
that option otherwise implies saving the file in the current directory.

To save the new file in the `/tmp` directory using a filename taken from the
URL:

curl -O --output-dir /tmp http://example.com/file.html

## Use the URL's filename part for all URLs

As a reaction to adding a hundred `-O` options when using a hundred URLs, we
introduced an option called `--remote-name-all`. This makes `-O` the default
operation for all given URLs. You can still provide individual "storage
instructions" for URLs but if you leave one out for a URL that gets
downloaded, the default action is then switched from stdout to -O style.

0 comments on commit 61554db

Please sign in to comment.