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.
Come funziona lo zoom "8x" su Punto e scatta Confronta con la mia reflex?
La tua fotocamera può vantare "zoom 8x", ma la maggior parte dei DSLR non pubblicizzano valori come questi. Quindi come si confrontano? La risposta è più complessa di quanto si possa pensare. Quel valore "8x" che non significa necessariamente oggetti nella foto apparirà 8 volte più grande di quello che hanno gli occhi.
Come impedire a Uber di rintracciare la posizione del tuo iPhone quando non usi l'app
La maggior parte delle app iOS che richiedono la tua posizione ti danno una scelta: puoi "Sempre" concederle l'accesso, o concedilo solo l'accesso "Mentre usi l'app". Uber, tuttavia, ti ha dato solo una scelta "Sempre" o "Mai", il che significa che ti può rintracciare al termine della corsa e smettere di usare l'app.