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

    mcp /tmp/test.txt /home/davide/ /usr/local/copia.txt
  • copia, 4096 byte alla volta, del file /tmp/test.txt in /tmp/uno.txt /tmp/due.txt

    mcp -b 4096 /tmp/test.txt /tmp/uno.txt /tmp/due.txt
  • copia del file -b in /tmp/prova e /tmp/prova2

    mcp -- -b /tmp/prova /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).