GNU/Linux >> Linux Esercitazione >  >> Linux

Come trasferire file tra server in Linux utilizzando SCP e FTP

Il trasferimento di file tra macchine è un'attività operativa molto comune che farai sempre come sviluppatore.

Linux fornisce una serie di utilità per trasferire file. In questo tutorial parleremo di FTP e SCP . Molti script automatici implementano anche FTP o SCP per spostare i file.

Cos'è FTP?

FTP è un protocollo di rete utilizzato per lo scambio di file in rete. Utilizza la porta 21. FTP consente di accedere a un sistema remoto per lo scambio di file utilizzando il ftp comando.

Sintassi FTP

La sintassi FTP è la seguente:

ftp host

Qui, host può essere il nome host o l'indirizzo IP dell'host remoto.

Comandi FTP

I comandi FTP sono simili ai comandi Linux. Ne discuteremo alcuni.

Comando Utilizzo
aperto Apre una connessione remota con un altro computer.
ottenere Copia un file dal sistema remoto al sistema locale.
metti Copia un file dal sistema locale in una directory sul sistema remoto.
mget Trasferisce più file dal sistema remoto alla directory corrente del sistema locale.
mput Trasferisce più file dal sistema locale a una directory sul sistema remoto.
ciao/esci Si prepara per uscire dall'ambiente FTP.
chiudi Termina la connessione FTP.
ascii Abilita la modalità di trasferimento file in ASCII
binario Abilita la modalità di trasferimento file in binario.

Come trasferire file tramite FTP

FTP offre due modalità di trasferimento:ASCII e Binary.

  1. ASCII sta per Codice standard americano per lo scambio di informazioni . Viene utilizzato per trasferire file semplici come file di testo.
  2. Modalità binaria :la modalità binaria viene utilizzata per trasferire file non di testo come immagini.

La modalità di trasferimento predefinita è ASCII.

Fase 1:connessione a FTP

Nell'esempio seguente, hostA è l'host remoto. Ti verrà richiesto un nome utente e una password.

$ ftp hostA
Connected to hostA.
220 hostA FTP server ready.
Name (hostA:user): user
331 Password required for user.
Password: password
230 User user logged in.
Remote system type is LINUX.

Una volta che la connessione è riuscita, noterai il ftp> simbolo all'inizio. Ora possiamo eseguire i comandi FTP.

Fase 2:scegli la modalità di trasferimento file

Puoi scegliere la modalità (binaria o ASCII) a seconda del tipo di file.

ftp> ascii
200 Type set to A.

Fase 3 – Trasferisci file

Usiamo il get comando per trasferire il file sample.txt dal server FTP remoto alla macchina locale.

ftp> get sample.txt
200 PORT command successful.
150 Opening ASCII mode data connection for sample.txt (22 bytes).
226 Transfer complete.
local: sample.txt remote: sample.txt
22 bytes received in 0.012 seconds (1.54 Kbytes/s)

Passaggio 4. Termina la sessione

ftp> bye
221-You have transferred 22 bytes in 1 files.
221-Total traffic for this session was 126 bytes in 2 transfers. 221-Thank you for using the FTP service on hostA.
221 Goodbye.

Come trasferire più file tramite FTP

Per trasferire file in blocco, ci sono due comandi:mget e mput .

Usi mget per scaricare i file, mentre usi mput per caricare i file.

ftp> mget sample_file.1 sample_file.2
ftp> mput sample_file.1 sample_file.2

Tutti i passaggi che abbiamo appena appreso possono essere inseriti in un file eseguibile ed essere pianificati. Puoi trovare il codice per l'automazione qui.

Cos'è SCP?

SCP sta per Copia protetta. Utilizza SSH e la porta 22. I dati trasferiti tramite SCP sono crittografati e gli sniffer non possono accedervi. Questo rende SCP molto sicuro.

Puoi usare SCP per:

  • Trasferisci file dalla macchina locale all'host remoto.
  • Trasferisci file dall'host remoto alla macchina locale.

Sintassi SCP

Esploriamo la sintassi di SCP.

scp [FLAG] [user@]SOURCE_HOST:]/path/to/file1 [user@]DESTINATION_HOST:]/path/to/file2
  • [FLAG] specifica le opzioni che possono essere fornite a SCP. Ecco alcuni dettagli sui flag:
Bandiera Descrizione
-r Per copiare le directory in modo ricorsivo.
-q Utilizzato per nascondere l'indicatore di avanzamento e qualsiasi altra informazione diversa dagli errori.
-C Utilizzato per comprimere i dati durante l'invio a destinazione.
-P Specifica la porta SSH di destinazione.
-p Preserva i tempi di accesso ai file.
  • [user@]SOURCE_HOST è la macchina di origine.
  • [user@]DESTINATION_HOST:] è la macchina di destinazione.

Nota :Per trasferire file tramite SCP, le credenziali devono essere note e l'utente deve disporre dei permessi per scrivere .

Come trasferire file dalla macchina locale all'host remoto tramite SCP

Per trasferire file su un host remoto, usa il comando seguente:

scp source_file.txt [email protected]:/path/to/remote/directory

Nel comando sopra, source_file.txt è il file da copiare. Remote_username è il nome utente per l'host remoto 10.13.13.11 . Dopo : viene specificato il percorso di destinazione.

Esempio di output:

[email protected]'s password:
source_file.txt                             100%    0     0.0KB/s   00:00

Il file source_file.txt verrà ora posizionato in /path/to/remote/directory .

Per copiare le directory, usa -r flag come mostrato di seguito.

scp -r /local/directory [email protected]:/path/to/remote/directory

Come trasferire file da un host remoto a un computer locale tramite SCP

Per trasferire file da un host remoto a una macchina locale, usa il comando seguente:

scp [email protected]:/remote/source_file.txt /path/to/local/directory
Fai molta attenzione quando trasferisci i file mentre SCP sovrascrive i file già esistenti.

Conclusione

In questo tutorial, hai imparato come trasferire file e directory utilizzando FTP e SCP tramite riga di comando.

Se automatizzati, questi comandi servono a scopi ancora più importanti nel data warehousing, nell'ETL (Extract, Transform, Load), nel reporting, nell'archiviazione e nell'elaborazione di file di massa. Prova questi comandi. Connettiamoci su Twitter.


Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Trasferisci in modo sicuro file e cartelle tra computer utilizzando Croc

  3. Come trasferire file in modo sicuro utilizzando il comando SCP in Linux

  4. Come utilizzare FTP in Linux per trasferire file

  5. Come trasferire file tra Linux e Android in modo veloce e affidabile?

Come condividere e trasferire file tra Linux e Windows

Come eseguire il backup e il ripristino di file utilizzando BorgBackup in Linux

Come eseguire il backup di file e directory utilizzando Rsync in Linux

Come trasferire file tra Dropbox e Google Drive con Rclone in Linux

4 modi per trasferire file e directory su Linux

Come eliminare file e directory utilizzando la riga di comando di Linux