There are many file transfer tools, we are going to discover some of them such as wget, scp and rsync.

wget

Wget is an online control tool intended to transfer files via the HTTP, HTTPS et FTP protocols.

wget http://www.domain.fr/file.txt
Saving to: `file.ext'

54% [=================> 4,513,862   124.0K/s  eta 30s

limit of bandwidth (ex: 100k).

Resume a partial download.

Download recursively.

Download URLs contained in the file.

Define a file extension to download solely (ex: .png).

Define a file extension not to download (ex: .jpg).

Change the number of attempts set at 20 by default.

Here are some examples of use of wget :

### Copy of the folder2 only
wget -r -np http://www.domain.fr/folder1/folder2/

### Copy of the folder2 content only
wget -r -nd http://www.domain.fr/folder1/folder2/

### Copy of the content in a folder chosen at 100k
wget -P /home/root/destination --limit-rate=100k http://www.domain.fr/folder1/file.txt

### Copy of a folder content on a FTP towards your machine 
wget -r ftp://www.domain.fr/folder/* --ftp-user=user --ftp-password=password

scp

scp is a file transfer tool between two posts based on SSH which can guarantee you secured exchanges.
It is noteworthy that this transfer method is not recommended if you transfer
Il faut noter que cette méthode de transfert n’est pas recommandé si vous transférer un grand de fichier de petite taille.

### Copy from you machine to a remote machine and vice-versa 
scp -r -p folder/source user@machine_remote:folder/destination
scp -r -p user@machine_remote:folder/destination folder/source

### Copy of your machine between two remote machines 
scp -r -p user@machine_remote1/folder/source/file.txt user@machine_remote2:folder/destination/

Transfer recursively.

Keep the file parametersConserver (dates, access and rights).

Specify the connection port.


rsync

rsync is file synchronisation tool on a control line between 2 directories regardless of their location.
rsync thus allows to synchronize and transfer files from a source to a destination, it can be installed and used according to the following way :

sudo apt-get install rsync

rsync folder/source folder/destination

Description number one.

copy recursively while keeping the permissions and without following symlinks.

Display the list of the copied files.

Use ssh to transfer your files.

Compress your files before transferring them.

Display what rsync is going to synchronize but without executing the command.

Exclude an extension, a file or a folder from the transfer.

Include an extension, a file or a folder from the transfer.

Delete the files in the output folder not present in the source folder at the end of the transfer.

Here is an example of rsync that needs the use of parameters described above :

### Synchronisation of the PDF files and deletion of other files contained in the output folder
rsync -avzn -e ssh --delete-after --include "*.pdf" folder/source/ user@www.domain.fr:/folder/destination/