MultiCopy – copia di un file verso più destinazioni

Avendo spesso la necessità di copiare un singolo file in varie directory ho deciso di creare un piccolo, e semplice, programmino che permetta da linea di comando di fare proprio questo, ecco quindi MultiCopy (mcp).

Il programma è utilizzabile nei seguenti modi:

  • mcp <file_sorgente> <directory_1> <directory_2> … <directory_n>
    copia il <file_sorgente> all’interno delle directory indicate
  • mcp <file_sorgente> <file_1> <file_2> … <file_n>
    copia il <file_sorgente> andando a creare/sovrascrivere i file indicati
  • mcp -b <byte_buffer> <file_sorgente> <directory_1> <directory_2> … <directory_n>
    copia il <file_sorgente> all’interno delle directory indicate sfruttando un buffer in lettura/scrittura pari a <byte_buffer>
  • mcp -b <byte_buffer> <file_sorgente> <file_1> <file_2> … <file_n>
    copia il <file_sorgente> andando a creare/sovrascrivere i file indicati sfruttando un buffer in lettura/scrittura pari a <byte_buffer>

Volendo è possibile anche usare il parametro — (due caratteri – ravvicinati) per indicare al programma che tutto ciò che segue è un nome di file e che quindi non deve essere interpretato come parametro di configurazione (utile nel caso abbiate un file che si chiama proprio come uno dei parametri accettati da mcp)

Esempi:

  • copia del file /tmp/test.txt nella directory /home/davide/ e nel file /usr/local/copia.txt
  • copia, 4096 byte alla volta, del file /tmp/test.txt in /tmp/uno.txt /tmp/due.txt
  • copia del file -b in /tmp/prova e /tmp/prova2

Il codice è disponibile su GitHub a questo indirizzo, troverete anche un paio di eseguibili già compilati (uno generico per x86-64 generato su Slackware64 ed uno generato su Raspbian per RaspberryPi 3).