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).