▷ Come COPIARE e SPOSTARE FILE in Linux

Se hai mai avuto la necessità di utilizzare il terminale Linux per copiare file in Linux o spostare file in Linux, in questo tutorial vedremo come copiare e spostare cartelle o directory e file in Linux utilizzando il terminale. È molto semplice e veloce da fare e quindi possiamo riorganizzare le nostre informazioni quando spostiamo i file in Linux nei percorsi che ci interessano.

La gestione dei file dal terminale ci consente di non dover cercare graficamente la posizione di ciascun file e cartella. Usando i comandi possiamo avere il controllo sui nostri file e cartelle dal terminale Linux stesso, cosa che ci farà risparmiare tempo e fatica. Da questo terminale possiamo copiare file in Linux per spostare file Linux o eliminare file Linux. In ogni comando puoi anche trovare opzioni aggiuntive da aggiungere al file e farlo funzionare in modo più completo.

Si consiglia di prestare attenzione alle note di avviso perché se ad esempio si sovrascrive o si elimina un file non si torna indietro. Controlla bene quali elementi vuoi gestire per evitare danni alle tue informazioni. Ti lasciamo di seguito diversi modi per copiare file in Linux oltre a spostare file in Linux o eliminare file in Linux.

1. Copia i file in Linux con il comando cp


Vedremo come copiare i file in Linux cp essendo uno dei comandi più utilizzati per questo.

Copia il file in un'altra cartellaCopiare un file da una cartella all'altra è molto semplice, le istruzioni da eseguire sono le seguenti.

 cp file_to_copy cartella_destinazione 

Copia cartella o directorySe vogliamo copiare una cartella o una directory in modo ricorsivo in Linux useremo il parametro -r, l'istruzione è la seguente. La -r indica di copiare ricorsivamente la directory, in questo caso si può usare anche -R.

 cp -r cartella_per_copiare destinazione 

Esempi del comando cpNegli esempi assumiamo di trovarci nel percorso del file o della directory che stiamo per copiare, altrimenti dovremmo inserire il suo percorso.

  • Se vogliamo copiare il file test.txt nella cartella /home/solvetic, usiamo quanto segue:
 cp test.txt/home/solvetic
  • Se vogliamo copiare una cartella chiamata webSolvetic nella directory var:
 sudo cp -r web / var 
Nota che la directory var in Linux non ha i permessi per l'utente, quindi dobbiamo eseguirla come root, ecco perché è stato impostato sudo e -r perché web è una cartella.

Opzioni del comando CpPossiamo aggiungere extra al comando cp come il seguente:

  • Per eseguire il backup dei file cercando di conservare la maggior parte dei dati, delle impostazioni e dei metadati:
 -a -archivio
  • Se vogliamo forzare l'eliminazione del file
 -F
  • Se vogliamo che ci venga chiesto prima di sovrascrivere:
 -i -interattivo
  • Se vogliamo collegare i file invece di copiare
 -l
  • Se vogliamo copiare senza sovrascrivere
 -n

2. Copia un file in più cartelle contemporaneamente Linux


È possibile che desideriamo copiare un file in più cartelle contemporaneamente utilizzando i comandi ed è per questo che i seguenti passaggi ti mostreranno come copiare un file in più cartelle contemporaneamente Linux. Per questo useremo il comando echo e xargs.

Passo 1
Per utilizzare il comando echo faremo affidamento sulla seguente sintassi:

 echo destinazione1 destinazione2 ecc | xargs -n 1 file cp da copiare 
Passo 2
Quindi possiamo scomporre questa struttura in:

buttato fuoriCi permette di visualizzare del testo sullo schermo e mettendo la barra davanti a xargs ci permette di prendere valori da questo comando.

xargsConsente di copiare i file con il comando cp a seconda delle destinazioni.

-n 1Indica che solo uno degli argomenti viene aggiunto a cp.

Dopo aver visto la sintassi nel nostro esempio troveremo quanto segue:

 echo / home / Solvetic / Solvetic / home / Solvetic / Test / home / Solvetic / Desktop / Test | xargs -n 1 cp /home/Solvetic/Desktop/Solvetic.png.webp 

Passaggio 3
Se accediamo a una delle cartelle che abbiamo impostato come destinazione vedremo che il file è stato copiato correttamente.

NotaAltri parametri che possiamo usare sarebbero:

  • Cp-i. Questo parametro gli consente di chiederci se vogliamo sostituire il file o meno se esiste già nella destinazione.
  • Cp-n. Impedisce la sovrascrittura del file se esiste già.

3. Copia i file in Linux sul desktop remoto


Per copiare i file in una directory remota, utilizzeremo il comando rsync.

Passo 1
Per copiare i file su un computer remoto utilizzeremo la seguente sintassi. Quando inseriamo l'IP remoto dovremo inserire la password di root di questa apparecchiatura.

 rsync -avz file / [email protected]: / destinazione / 

Passo 2
Possiamo anche fare il contrario, copiare una directory remota sul nostro server locale. Per questo useremo la seguente sintassi:

 rsync -azvh [email protected]: / destinazione / directory / 

4. Spostare file in Linux con mv


Per spostare un file o una directory utilizzeremo il comando mv, l'istruzione è la seguente. A differenza della copia, non abbiamo bisogno di parametri aggiuntivi per spostare una cartella.
 mv file_o_cartella_destinazione 
Esempi del comando mvNegli esempi assumiamo di trovarci nel percorso del file o della directory che andremo a spostare, altrimenti dovremmo inserire il suo percorso.

  • Se vogliamo spostare il file test.txt nella cartella /home/solvetic/Desktop, utilizziamo quanto segue:
 mv test.txt / home / solvetic / Desktop
  • E se spostiamo una cartella chiamata webSolvetic nella directory var. Come in copy usiamo sudo.
 sudo mv webSolvetic / var 

5. Elimina i file Linux con rm


Per eliminare i file dal terminale utilizzeremo il comando rm. Sebbene per impostazione predefinita non elimini le directory, combinandolo con -r possiamo eliminare i contenuti. La sua sintassi generale è:
 rm [-opzioni] [-d | s] file 

NotaSe una directory è vuota puoi usare l'opzione:

 rm -d / -dir 

Elimina un filePer eliminare un file scriveremo il seguente comando. Tieni presente che verrà eliminato definitivamente.

 rm delete_file 

Elimina più file contemporaneamenteAbbiamo diverse opzioni aggiuntive da aggiungere al comando rm. Possiamo eliminare diversi file contemporaneamente anche con questo comando:

 Rm file1.txt file 2.txt rm file1_directory file2_directory

Elimina il contenuto di tutte le directoryPossiamo anche eliminare tutto in una directory di lavoro. Ad esempio, elimineremo i file fintanto che include la directory di eliminazione.

 Rm * directory 

NotaSe usiamo il plugin -i avremo un'opzione di cui pentirci durante l'eliminazione poiché ci chiederà se vogliamo farlo.

Elimina directory e contenutoPer eliminare una directory e il suo contenuto utilizzeremo:

 Rm -r directory 

Elimina la directory senza chiedereSe vogliamo eliminare una directory con tutto il suo contenuto e non ci chiede nulla, utilizzeremo quanto segue:

 Rm -rf directory 

NotaCon questi comandi devi tenere conto dei permessi della cartella o del file, a volte dovrai essere root per eseguirlo.

Con questi comandi possiamo gestire file e cartelle dal terminale Linux stesso. Avremo la possibilità di copiare file in Linux, spostare file in Linux ed eliminare file Linux.

wave wave wave wave wave