Durante l'apprendimento di Linux, è sempre la norma per i neofiti continuare a digitare diversi comandi per svolgere un'attività semplice. Questo è comprensibile soprattutto quando ci si sta appena abituando all'uso del terminale.
Tuttavia, mentre non vedi l'ora di diventare un utente esperto di Linux, imparare ciò che chiamerei "comandi di scelta rapida" può ridurre significativamente le tendenze allo spreco di tempo.
In questo articolo spiegheremo in modo semplice, utilizzando un singolo comando per copiare un file in più directory in Linux.
In Linux, il comando cp viene utilizzato per copiare file da una directory all'altra, la sintassi più semplice per utilizzarlo è la seguente:
# cp [options….] source(s) destination
In alternativa, puoi anche utilizzare il comando advanced-copy, che mostra una barra di avanzamento durante la copia di file/cartelle di grandi dimensioni in Linux.
Considera i comandi seguenti, normalmente dovresti digitare due comandi diversi per copiare lo stesso file in due directory separate come segue:
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp
Supponendo che tu voglia copiare un particolare file in un massimo di cinque o più directory, ciò significa che dovresti digitare cinque o più comandi cp ?
Per eliminare questo problema, puoi utilizzare il comando echo, una pipe , xargs comando insieme al cp comando nel modulo seguente:
# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
Nel modulo sopra, i percorsi delle directory (dir1,dir2,dir3…..dirN) vengono ripetuti e inviati come input a xargs comando dove:
-n 1
– dice a xargs di usare al massimo un argomento per riga di comando e di inviarlo al comando cp.cp
– utilizzato per copiare un file.-v
– abilita la modalità dettagliata per mostrare i dettagli dell'operazione di copia.
Prova a leggere le pagine man di cp
, echo
e xargs
comandi per trovare informazioni utili e avanzate sull'utilizzo:
$ man cp $ man echo $ man xargs
Questo è tutto, puoi inviarci domande in relazione all'argomento o qualsiasi feedback tramite il modulo di commento qui sotto. Potresti anche voler leggere il comando progress che aiuta a monitorare l'avanzamento di (cp , mv , gg , tar, ecc.) comandi attualmente in esecuzione in Linux.