GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso copiare più file su scp in un comando?

Usa tar :

tar cvzf - -T list_of_filenames | ssh hostname tar xzf -

Vorrei usare scp per questo, ma scp consente solo di trasferire un file alla volta.

Sono abbastanza sicuro che non sia vero, almeno non per il scp comando fornito da OpenSSH incluso nella maggior parte delle distribuzioni Linux.

Uso scp file1 file2 ... fileN [email protected]:/destination/directory/ abbastanza frequentemente.

Per la compressione trasparente, il protocollo SSH ha questo integrato e scp può usarlo se fornisci il -C opzione sulla riga di comando. Per molti piccoli file simili troverai che l'opzione tar+gz suggerita da akira ottiene una compressione migliore in quanto può utilizzare la somiglianza tra tali file in cui scp comprime ogni file come un'entità separata. Generalmente preferisco usare scp però poiché è più facile riprendere un trasferimento parziale (o, anche se so che in questa situazione l'interrogante non ha l'opzione) rsync poiché è ancora più facile da riprendere e condivide il vantaggio della compressione dell'intero flusso dell'opzione tar+gz.


Non scp -r yourdir otherhost:/otherdir lavorare?

Allora prova questo:

tar cfz - . | ssh otherhost "cd /mydir; tar xvzf -"

il z -flag per tar esegue la compressione. Oppure puoi usare -C per ssh:

tar cf - . | ssh -C otherhost "cd /mydir; tar xvf -"

Linux
  1. Come rinominare più file contemporaneamente in Linux

  2. Come copiare più file contemporaneamente usando scp

  3. Come gzippare più file in un unico file gz?

  4. Come posso utilizzare il comando tar per raggruppare i file senza compressione?

  5. Concatena più file tar in un unico comando

Comando tar di Linux – Come comprimere file in Linux

Come copiare un file con un comando in più directory su Linux

Come eseguire più comandi Linux in un unico comando

Come unire più file PDF in un unico PDF in Linux

Come copiare file in Linux usando il comando CP

Copia i file in modo sicuro con il comando SCP