GNU/Linux >> Linux Esercitazione >  >> Debian

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

La copia di un file in un sistema operativo Linux è semplice sia utilizzando la riga di comando che grafica. Tuttavia, alcuni utenti preferiscono la riga di comando per eseguire quasi tutte le attività. La riga di comando non solo offre il modo semplice ma più rapido per eseguire un'attività. Cp è il comando in Linux che viene utilizzato per copiare un file da una posizione all'altra. Ma cosa succede se dobbiamo copiare un file in più posizioni. C'è un modo in cui posso mostrare come ottenerlo in Linux.

Abbiamo eseguito i comandi e la procedura menzionati in questo articolo su un sistema operativo Debian 10, ma funzioneranno anche su qualsiasi altra distribuzione Linux.

Vediamo prima come possiamo usare il comando cp per copiare i file da una posizione all'altra. La sintassi generale per copiare i file usando il comando cp è:

$ cp ~[/location/sourcefile] ~[/destinationfolder]

Un esempio potrebbe essere copiare il file di test1 dalla directory Documenti alla directory Download. Per questo, ho eseguito il seguente comando nel terminale:

$ cp ~/Documents/testfile1 ~/Downloads/

Ora, quando dobbiamo copiare il file in più posizioni, dobbiamo eseguire i comandi più volte. Ad esempio, nell'esempio seguente, stiamo copiando il file di test1 da Documenti in due posizioni diverse, ovvero Download e Desktop. Per questo, dobbiamo eseguire i comandi cp due volte in Terminale:

$ cp ~/Documents/testfile1 ~/Downloads/

$ cp ~/Documents/testfile1 ~/Desktop/

Copiare un file in più posizioni usando il comando echo

La copia di un file in due posizioni utilizzando il comando cp è ancora accettabile, ma supponiamo di dover copiare il file in quattro, cinque o più posizioni. in tal caso, abbiamo un'altra soluzione che utilizza il comando echo. La sintassi del comando sarebbe:

$ echo [destination1] [destination2] [destiantion3]..... | xargs -n 1 cp [/location/sourcefile]

Il comando echo viene solitamente utilizzato negli script della shell per stampare un messaggio o inviare un output sullo schermo. Ma qui in questo esempio, lo useremo per inviare l'output al comando xargs tramite il | simbolo. Gli xargs riceveranno input tre volte dal comando echo ed eseguiranno le operazioni cp tre volte, copiando il file di test in 3 posizioni diverse. il flag n nel comando precedente dirà al comando cp di accettare un argomento alla volta.

Tieni presente che questo comando sovrascriverà un file già esistente con lo stesso nome nella directory di destinazione. Pertanto, è meglio eseguire già un backup del file importante.

Nell'esempio seguente, utilizziamo questo comando per copiare il file di test1 dalla directory Documenti in tre directory diverse che sono Desktop, Download e la directory Musica. Per questo, abbiamo eseguito il seguente comando:

$ $ echo [~/Desktop] [~/Downloads] [~/Music] | xargs -n 1 cp [/location/sourcefile]

Questo è tutto ciò che c'è da fare! Ora abbiamo imparato come copiare un file con un comando in più directory. Quindi ora non devi scrivere più comandi per eseguire il compito più semplice di copiare un file in più posizioni.


Debian
  1. Trova file e directory su Linux con il comando find

  2. Copia file e directory in Linux

  3. Come aggiornare Kali Linux con un solo comando

  4. Come copiare un file in più directory usando il comando gnu cp

  5. Come sostituire un file in jar con la riga di comando in Linux?

Come utilizzare un comando file in Linux

Come aprire un file in Linux

Come unire più righe in una in un file in Linux

Come eseguire più comandi Linux in un unico comando

Come copiare file e directory nel terminale Linux

Come eliminare i gruppi con il comando groupdel in Linux