Understanding cURL :
It is a command line tool used for transfer of your file with URL from or to a server, using supported protocols such as (FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE and LDAP)
This command is designed to work if you don’t want user interaction ie to automate unattended file transfers or sequences of operations; Just fire the command with proper parameters and sit aside. You can view the status of process at any time as cURL normally displays a progress meter during operations, indicating amount of transferred data, transfer speeds and estimated time left etc.
However if you invoke curl to write some data at some terminal then this progress meter gets disable otherwise it would mess up the output mixing progress meter and response data.
The URL syntax is protocol dependent if you don’t specify any protocol cURL will take it as HTTP by default. Curl will attempt to re-use connections for multiple file transfers, so that getting many files from the same server will not do multiple connects this improves transfer speed.