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.
Google ha fatto molto nelle versioni più recenti di Android per offrire agli utenti un modo per personalizzare le notifiche, ma nulla si avvicina ai nuovi canali di notifica di Oreo. Queste nuove impostazioni ti consentono di portare le notifiche a un livello completamente nuovo. Che cosa sono i canali di notifica, comunque?
Ti rendi conto di quanto Condividi la tua posizione?
Questa app tiene traccia di ogni tua mossa! -un titolo iperbolico sono sicuro che tutti abbiamo visto prima. Mentre il sentimento qui è un over-the-top, solleva una domanda importante: sai quanto sia privata la tua posizione? Ogni giorno è qualcosa di nuovo. Oggi è il titolo di app di monitoraggio delle attività Strava (iOS, Android) e di come "ha dato via" le posizioni delle basi militari segrete.