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
1mcp /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
1mcp -b 4096 /tmp/test.txt /tmp/uno.txt /tmp/due.txt - copia del file -b in /tmp/prova e /tmp/prova2
1mcp -- -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).