Download a file from a FTP server to a specific location? I know I can get to a FTP location by accessing:

open ftp://user:pass@my_ftp_server/my_file


This will download the file in the Downloads folder.

How can I tell FTP tp download the file to a specific location I want?

I am looking for something like:

open ftp://user:pass@my_ftp_server/my_file=/tmp/fileDownloadedFromFtp
Use curl instead of open :-)


curl 'ftp://user:pass@my_ftp_server/my_file' &gt; '/tmp/fileDownloadedFromFtp'
curl -o '/tmp/fileDownloadedFromFtp' 'ftp://user:pass@my_ftp_server/my_file'
(cd /tmp &amp;&amp; curl -O 'ftp://user:pass@my_ftp_server/my_file')


curl by default dumps the received data on standard output, so the first option just uses output redirection to store it. The second option explicitely sets the target directory/name, the third changes to the target directory first and then has curl store the data into a file named the same way as on the source side.

If you want to avoid that username/password are visible to other users by running ps (or by looking into your shell history) 


create a text file .netrc in your home directory with the following content (replace my_ftp_server, user, pass with the real values)

machine my_ftp_server login user password pass

run chmod 600 ~/.netrc
Use curl -n ...