GNU/Linux >> Linux Esercitazione >  >> Linux

10 esempi pratici di utilizzo del comando scp

Probabilmente hai già familiarità con il comando cp in Linux che viene utilizzato per copiare file in Linux. Il comando cp può essere utilizzato solo sulla macchina locale.

Ma che dire della copia di file da un sistema Linux remoto? Per copiare file da un server remoto o su un server remoto, puoi usare un comando chiamato scp.

Trivia:scp è una forma abbreviata di Secured Copy.

Sintassi del comando scp

La sintassi e l'utilizzo del comando scp sono simili al comando cp e lo vedrai a breve in questi esempi di comando scp.

Ma prima diamo un'occhiata alla sintassi del comando scp:

scp <options> source_path destination_path

A seconda dell'origine del file da copiare, l'origine può essere client o server. Se l'origine è il client, la destinazione è il server e viceversa.

Ma sembra troppo semplice, vero? L'obiettivo principale del comando scp n è l'utilizzo del formato corretto per il formato del percorso di origine o di destinazione.

Un percorso tipico di un file o di una directory sul server è rappresentato in questo formato:

<username>@<ip_address_of_system>:<path_to_the file/directory>

In realtà, puoi anche usare [email protected] nel comando scp ma è più probabile che finirai con un errore "Impossibile risolvere il nome host “.

Questo perché la correlazione del nome host all'indirizzo IP dipende dalla configurazione di rete della rete del server. L'utilizzo dell'indirizzo IP effettivo ti evita la fatica.

Cose da tenere a mente prima di usare il comando scp

Ecco un paio di cose di cui hai bisogno prima di poter usare il comando scp sul tuo sistema Linux:

  • Assicurati che ssh sia installato e in esecuzione su entrambi i computer client e server poiché il comando scp utilizza internamente ssh. Se ssh non è installato, installalo usando il comando “sudo apt install ssh” su macchine basate su Debian o utilizzando i rispettivi gestori di pacchetti della tua distribuzione.
  • È necessario conoscere il nome utente e la password del sistema remoto. Ti verrà chiesto di inserire la password dell'host remoto. Il trasferimento del file inizierà solo quando inserisci la password corretta dell'host remoto.

Utilizzo del comando scp in Linux:10 esempi pratici

Ora che abbiamo visto la sintassi del comando scp e il formato per specificare il percorso del server, vediamo ora come utilizzare il comando scp.

1. Copia di un file sul sistema remoto usando il comando scp

Per copiare un singolo file dalla macchina locale all'host remoto, specifica il percorso del file come percorso di origine e il percorso nell'host remoto in cui il file deve essere copiato.

scp abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

2. Copiare un file dal sistema remoto usando il comando scp

La copia di un file dal sistema remoto al sistema locale è praticamente la stessa. Devi solo specificare il percorso completo del file sul sistema remoto e il percorso sul sistema locale.

Quindi, per copiare il file dal sistema remoto alla directory corrente, usa semplicemente il comando nel modo seguente:

scp [email protected]<ip_address_of_xyz>:/remote/user/home/abc.txt .

3. Copiare più file usando il comando scp

Per copiare più file dalla macchina locale all'host, basta specificare il nome dei file come percorso di origine.

scp abc.txt def.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

4. Copiare un'intera directory con il comando scp

Anche la copia di una directory utilizzando scp è la stessa del comando cp. È possibile utilizzare l'opzione -r e specificare il nome della cartella come percorso di origine. Questa è chiamata modalità ricorsiva.

scp -r ~/Desktop/test [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Puoi anche specificare più di una directory e copiarle tutte in un unico comando.

5. Vedi i dettagli del trasferimento file nell'output

Se sei curioso di sapere cosa succede dietro le quinte durante la copia, puoi utilizzare l'opzione -v per vedere tutti i processi eseguiti, inclusi debugging, stato di uscita, crittografia, decrittografia, ecc. Si chiama modalità dettagliata.

scp -v abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

6. Copia di file su due host remoti

Finora, hai visto come copiare da una macchina locale a una macchina remota.
Per copiare file da un computer remoto a un altro computer remoto, specifica i percorsi di origine e destinazione nel formato del computer remoto come discusso sopra.

scp [email protected]<ip_address_of_abc>:<path_of_file_or_folder> [email protected]<ip_address_of_xyz>:<path_of_file_or_folder

Inutile dire che qui devi conoscere la password di entrambi i sistemi.

7. Copiare file con compressione [riduce il tempo di trasferimento]

Se provi a copiare un gruppo di file insieme, ci vorrà più tempo del trasferimento di un singolo file di dimensioni equivalenti alla somma di tutti i singoli file.

Se ritieni di dover aumentare la velocità di trasferimento dei file, puoi comprimere i file utilizzando l'opzione -C e trasferire i file.

La cosa migliore è che la compressione avviene solo durante il trasferimento. Una volta completato il trasferimento, i file verranno archiviati nella loro forma originale. Non vedrai un file di archivio ma tutti i singoli file come erano sul server remoto.

scp -C abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

8. Limitazione della larghezza di banda del trasferimento di file

Se ritieni che il trasferimento di file stia utilizzando la maggior parte della larghezza di banda, puoi ridurre la larghezza di banda del trasferimento di file utilizzando l'opzione -l seguita dalla nuova velocità di larghezza di banda.

scp -l 800 abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Nota che la larghezza di banda specificata nel comando è in kilobit al secondo ma durante il trasferimento dei file, l'output del comando scp mostrerà la velocità di trasferimento in kilobyte al secondo.

Poiché 1 byte=8 bit, gli 8300 kilobit al secondo nel parametro del comando diventano 100 kilobyte al presto nell'output del comando.

9. Conservazione degli attributi originali dei file copiati

Se è necessario preservare gli attributi del file originale come i permessi e la proprietà del file, i timestamp dei file e così via, utilizzare l'opzione -p.

scp -p abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

10. Nascondere l'output del comando scp

Se non ti senti a tuo agio con il lungo output del comando scp, puoi evitare l'output del comando usando l'opzione -q. Questa è chiamata modalità tranquilla.

Nasconde persino l'avanzamento della copia dei file.

scp -q abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Negli esempi precedenti, hai visto come copiare i file sull'host remoto dalla macchina locale. Se è necessario copiare file dall'host remoto alla macchina locale, scrivere il percorso del file/cartella da copiare dall'host remoto come percorso di origine e il percorso in cui il file/cartella deve essere incollato nella macchina locale come destinazione percorso.

Per maggiori dettagli sul comando scp, fare riferimento alla sua pagina man.

Spero che ora tu abbia capito come utilizzare al meglio il comando scp per copiare in modo sicuro file tra computer. Personalmente, preferisco usare il comando rsync su scp perché rsync ha più funzionalità.

In caso di problemi, non esitare a porre domande nella sezione commenti qui sotto. E se conosci altri fantastici suggerimenti per i comandi scp, condividili con il resto di noi qui.


Linux
  1. Comando cp in Linux:7 esempi pratici

  2. Comando di arresto di Linux:5 esempi pratici

  3. 5 Esempi pratici del comando dd in Linux

  4. 5 Esempi pratici di comandi per il fusore Linux

  5. Esempi di utilizzo del comando dmsetup in Linux

12 Esempi pratici di In Command in Linux

I 50 esempi pratici del comando SED in Linux

15 esempi pratici di comando Rsync in Linux

5 esempi pratici di Tail Command in Linux

echo Command in Linux:7 esempi pratici

Pratico comando Ping negli esempi di Linux