Introduzione
Come utente Linux, devi conoscere bene il comando cp di Linux. Che viene utilizzato per copiare file da una directory a un'altra directory.
Questo tutorial ti spiegherà come copiare un file in più directory con un unico comando.
Come copiare un file
Per impostazione predefinita, possiamo copiare un file nella singola directory di destinazione con un comando. Ad esempio, copiare un file noviello.txt
dalla directory home a due directory diverse, utilizza comandi come:
cp -v ~/noviello.txt /backup/dir1/
cp -v ~/noviello.txt /backup/dir1/
Ora, usa il seguente comando per copiare lo stesso file in entrambe le directory di destinazione in un unico comando. Qui usiamo il comando echo seguito dai nomi della directory di destinazione. Quindi inviate i risultati ai comandi xargs, che prenderanno i nomi delle directory come input e li passeranno al comando cp.
echo /backup/dir1/ /backup/dir2/ | xargs -n 1 cp -v ~/noviello.txt
Successivamente, verifica che il file di origine venga copiato in entrambe le directory di destinazione. Basta usare il comando ls per elencare i file in entrambe le posizioni.
ls -l /backup/dir1/noviello.txt
Scoprirai che lo stesso file viene copiato su entrambe le destinazioni in un unico comando.
Puoi copiare facilmente diversi file in 2-3 directory con più comandi. Ma pensa, se devi copiarlo su un gran numero di directory alla volta. Ad esempio, ho un server WHM/cPanel con un numero elevato di account e desidero inserire un file nella directory public_html di ciascun account. Possiamo farlo in un unico comando come il seguente:
echo /home/*/public_html/ | xargs -n 1 cp -v ~/noviello.txt
Conclusione
Con questo tutorial abbiamo visto come copiare un file in più directory con un unico comando.