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 impostare il tuo Autofill Manager preferito in Android Oreo
Una delle migliori nuove funzionalità di Android Oreo è il servizio di riempimento automatico a livello di sistema. In sostanza, se memorizzi le password e i dati dei moduli in Chrome, queste informazioni vengono ora sincronizzate nel sistema per l'utilizzo in app e simili. Se non usi il gestore password nativo di Chrome, però, optando per qualcosa come LastPass- puoi effettivamente modificare il gestore automatico della compilazione automatica nell'applicazione preferita.
Come salvare l'output del prompt dei comandi in un file di testo in Windows
Il salvataggio dell'output di un comando Prompt dei comandi di Windows è un ottimo modo per ottenere una copia nitida da condividere con il personale di supporto, analizza le uscite più lunghe usando il tuo editor di testo preferito, o altrimenti interagisci con l'output con maggiore flessibilità di quanto permetta la finestra di comando.