La copia di un file con la riga di comando di Linux è semplice. Tuttavia, che cosa succede se si desidera copiare lo stesso file in più posizioni diverse? Anche questo è facile e ti mostreremo come farlo con un comando.
Normalmente, per copiare un file, devi usare il comandocp
, collegandolo al file sorgente e alla destinazione directory:
cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /
Per copiarlo su altre due directory, molte persone eseguono il comando altre due volte, con destinazioni diverse:
cp ~ / Documents /FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /
Tuttavia, possiamo eseguire la stessa operazione con un comando:
echo dir1 dir2 dir3 | xargs -n 1 cp file1
Ecco come funziona questo comando. Il comandoecho
normalmente scrive sullo schermo. Tuttavia, in questo caso, vogliamo alimentare l'output del comandoecho
come input per il comandoxargs
. Per fare ciò, utilizziamo il simbolo pipe (|
) che alimenta l'output da un comando come input a un altro. Il comandoxargs
eseguirà il comandocp
tre volte, ogni volta aggiungendo il successivo percorso di directory convogliato dal comandoecho
alla fine del> comando cp
. Sono passati tre argomenti axargs
, ma l'opzione-n 1
sul comandoxargs
indica che è possibile aggiungere solo uno di questi argomenti alla volta per il comandocp
ogni volta che viene eseguito.
Quindi, per seguire il nostro esempio di prima, i tre comandicp
precedenti possono essere combinati in un comando come questo:
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt
Si noti che se il file da copiare esiste in una qualsiasi delle directory di destinazione specificate, il file in quella destinazione verrà automaticamente sostituito. Non ti verrà chiesto se desideri sostituire il file. (Normalmente, quando si usa il comandocp
per copiare un file in una singola posizione, è possibile aggiungere l'opzione-i
per chiedere se si desidera sostituire un file esistente. l'opzione-i
è un'opzione interattiva (causa il comandocp
per chiedere l'input dall'utente) e non è possibile utilizzare un'opzione interattiva concp
comando quando lo si utilizza in combinazione conxargs
.)
Un'altra cosa da considerare è che se si sta copiando un file molto grande, si potrebbe voler aggiungere il no-clobber (- n
) opzione per il comandocp
nel comando singolo sopra. Questa opzione impedisce automaticamente che un file venga sovrascritto in una destinazione se esiste già lì. Se stai copiando un file molto grande su una rete, potrebbe essere lento e potresti voler evitare di utilizzare le risorse richieste per copiare e sostituire il file. Il seguente comando aggiunge l'opzione-n
e non copierà il file in nessuna destinazione elencata negli argomenti dell'istruzione echo, se il file esiste già in quella destinazione.
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt
Digitare man echo, man xargs o man cp sulla riga di comando in Linux per ulteriori informazioni su uno di questi comandi.
Quattro usi intelligenti per la tua Nest Cam
La Nest Cam è una telecamera di sicurezza semplice da usare per tutti. Tuttavia, se ne hai uno in giro, puoi usarlo molto più che scoraggiare i criminali. Ecco alcune cose insolite, ma utili che puoi fare con la tua Nest Cam. Guarda le consegne dei pacchetti Amazon potrebbe darti un tracker che ti induca ad ansia per dirti quando arriva il tuo pacco, ma ti sentiresti meglio roba costosa consegnata alla tua porta se potessi vederla da solo.
Come ottenere foto Instagram migliori
Instagram è uno dei social network più popolari al mondo. È un posto in cui puoi condividere le foto che hai scattato, le foto dello stile di vita che hai (voglio che le persone ti credano) e molto altro. Mentre molte persone sono felici di condividere qualsiasi vecchio meme su Facebook e altri social network, sono spesso molto più attenti a ciò che i post fanno sul loro account Instagram.