GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando SCP per trasferire file

SCP è un programma di copia sicura per trasferire file o directory tra host Linux sulla rete. SCP utilizza il protocollo ssh per trasferire i dati.

Puoi trasferire file o directory come segue:

1) Host locale su un host remoto.
2) Sistema remoto al tuo sistema locale.
3) Trasferimento tra due host remoti dal tuo sistema locale.

In questo tutorial, impariamo alcuni comandi scp per trasferire file tra sistemi Linux.

1) Copia un file dall'host remoto in locale usando il comando scp

L'esempio seguente copierà il file denominato "file_for_copy.txt" dal sistema remoto "192.168.1.10" nella directory corrente (il punto indica la directory corrente) sul sistema locale.

$ scp [email protected]:/home/bobby/file_for_copy.txt .
[email protected]'s password:
file_for_copy.txt 100% 0 0.0KB/s 00:00
bobby@Inspiron-1440:~$ ls
file_for_copy.txt

Copia una directory dall'host remoto in locale usando il comando scp

Le directory possono essere copiate con -r opzione (come la maggior parte dei comandi come cp), cioè ricorsivamente, quindi anche tutto il contenuto all'interno della directory può essere copiato

$ scp -r [email protected]:/home/bobby/dir_for_copy .
[email protected]'s password:
file1.txt 100% 0 0.0KB/s 00:00
file3.txt 100% 0 0.0KB/s 00:00
file2.txt 100% 0 0.0KB/s 00:00
$ ls -ld dir_for_copy
drwxrwxr-x 2 bobby bobby 4096 2012-11-07 15:11 dir_for_copy

3) Copia un file dall'host locale a quello remoto

L'opzione -v di scp stampa un output dettagliato, che quindi esegue scp e stampa anche i messaggi di debug sul loro avanzamento. Nell'esempio seguente viene utilizzata l'opzione -v. Qui, un file locale viene copiato sull'host remoto.

$ scp -v examples.desktop [email protected]:/home/bobby

Allo stesso modo, una directory può essere copiata con -r opzione. Nell'esempio seguente, una directory denominata jvm viene copiata sull'host remoto.

$ scp -r jvm [email protected]:/tmp
[email protected]'s password:
file2.txt 100% 42 0.0KB/s 00:00
file.txt 100% 39 0.0KB/s 00:01

4) Copiare file tra due host remoti dall'host locale

Per copiare un file tra due host, il servizio ssh dovrebbe essere in esecuzione su entrambe le macchine. Il -3 l'opzione trasferirà i file tra due host remoti tramite l'host locale. Il comando seguente copia il file /home/bobby/myfile1.txt dalla macchina 192.168.1.10 nella directory /tmp sulla macchina 192.168.1.20, con output dettagliato.

$ scp -3 -v [email protected]:/home/bobby/myfile1.txt [email protected]:/tmp

Allo stesso modo, le directory possono essere copiate tra due macchine remote con l'opzione -r.

$ scp -3 -r [email protected]:/home/bobby/mydir [email protected]:/tmp
[email protected]'s password:
Could not chdir to home directory /home/bobby: No such file or directory
[email protected]'s password:

5) SCP con un numero di porta

Si supponga che la porta SSH della macchina remota sia 2200 (anziché la porta SSH predefinita 22). Quindi devi eseguire il comando scp con -P opzione come segue:

$ scp –P 2200 -r test_folder [email protected]:/home/test/

6) Comando Scp Copia più file (una riga)

Puoi copiare più file contemporaneamente usando il comando scp come di seguito senza doverlo eseguire più volte

$ scp file1.txt file2.txt file3.txt [email protected]:/home/bobby

7) Copia i file senza modificare il timestamp dei file

A volte potresti voler preservare il timestamp dei file originali. Ma quando li scp in una posizione diversa nel modo normale, il timestamp cambia. Ma con -p opzione puoi copiare i file con gli stessi timestamp originali, come di seguito.

$ scp -p file1.txt [email protected]:/home/bobby

8) File di copia SCP veloci

Per impostazione predefinita, Scp utilizza AES-128 per crittografare i dati poiché la sicurezza di questi è elevata. Ma lo svantaggio di questo è che rallenta un po' il processo di copia dei file. Ma se vuoi copiare i file in modo sicuro più velocemente, puoi usare Blowfish o RC4 come di seguito.

$ scp -c blowfish [email protected]:/home/user/file .
$ scp -c arcfour [email protected]:/home/user/file .

9) Comando Scp con maggiore sicurezza

Se è la sicurezza che cerchi, puoi copiare i file in un modo più sicuro usando 3DES. Ma questo rallenterà un po' di più il processo.

$ scp -c 3des [email protected]:/home/user/file .

10) Comando Scp con larghezza di banda limitata

Quando usi il comando scp puoi limitare la tua larghezza di banda come di seguito (qui la larghezza di banda è specificata in Kbit/s).

$ scp -l50 [email protected]:/home/user/file .

11) Comando Scp con IPV4 e IPV6

Se necessario, puoi forzare il comando scp a utilizzare IPV4 o IPV6 come di seguito

$ scp -4 [email protected]:/home/user/file .
$ scp -6 [email protected]:/home/user/file .

Conclusione

Spero che ti sia piaciuto leggere questo tutorial su come usare il comando scp con esempi. Consiglierei di fare riferimento alla pagina man del comando scp per ulteriori informazioni.


Linux
  1. Come utilizzare il comando Grep per trovare testo nei file

  2. Come usare il comando Su in Linux

  3. Comando SCP Linux – Come trasferire file SSH da remoto a locale

  4. Come utilizzare Netcat per trasferire file su Linux

  5. Come utilizzare FTP in Linux per trasferire file

Come utilizzare il comando SCP per trasferire file in modo sicuro

Come utilizzare il comando SFTP per trasferire file

Come usare il comando PS

Come usare il comando TOP

Come utilizzare il comando SCP su Linux

Comando SCP Linux per trasferire file in modo sicuro