GNU/Linux >> Linux Esercitazione >  >> Linux

Comando mv in Linux:7 esempi essenziali

mv è uno dei comandi da non perdere in Linux. mv sta per move ed è essenzialmente usato per spostare file o directory da una posizione all'altra.

La sintassi è simile al comando cp in Linux, tuttavia c'è una differenza fondamentale tra questi due comandi.

Puoi pensare al comando cp come a un'operazione di copia-incolla. Mentre il comando mv può essere equiparato all'operazione taglia-incolla.

Ciò significa che quando si utilizza il comando mv su un file o una directory, il file o la directory viene spostato in una nuova posizione e il file/directory di origine non esiste più. È un'operazione taglia-incolla, vero?

comando cp =copia e incolla
comando mv =taglia e incolla

Il comando mv può essere utilizzato anche per rinominare un file. Usare il comando mv è abbastanza semplice e se impari alcune opzioni, diventerà ancora migliore.

7 esempi pratici del comando mv

Vediamo alcuni degli utili esempi del comando mv.

1. Come spostare un file in una directory diversa

Il primo e il più semplice esempio è spostare un file. Per farlo, devi solo specificare il file di origine e la directory o il file di destinazione.

mv source_file target_directory

Questo comando sposterà il file_origine e lo inserirà nella directory_destinazione.

2. Come spostare più file

Se vuoi spostare più file contemporaneamente, fornisci tutti i file al comando di spostamento seguito dalla directory di destinazione.

mv file1.txt file.2.txt file3.txt target_directory

Puoi anche usare glob per spostare più file corrispondenti a uno schema.

Ad esempio nell'esempio sopra, invece di fornire tutti i file singolarmente, puoi anche utilizzare il glob che trova tutti i file con estensione .txt e li sposta nella directory di destinazione.

mv *.txt target_directory

3. Come rinominare un file

Un uso essenziale del comando mv è la ridenominazione dei file. Se usi il comando mv e specifichi un nome file nella destinazione, il file di origine verrà rinominato in file_destinazione.

mv source_file target_directory/target_file

Nell'esempio sopra, se target_fille non esiste nella directory_destinazione, creerà il file_destinazione.

Tuttavia, se il file_destinazione esiste già, lo sovrascriverà senza chiedere. Ciò significa che il contenuto del file di destinazione esistente verrà modificato con il contenuto del file di origine.

Ti mostrerò come gestire la sovrascrittura dei file con il comando mv più avanti in questo tutorial.

Non sei obbligato a fornire una directory di destinazione. Se non specifichi la directory di destinazione, il file verrà rinominato e mantenuto nella stessa directory.

Tieni presente :per impostazione predefinita, il comando mv sovrascrive se il file di destinazione esiste già. Questo comportamento può essere modificato con l'opzione -n ​​o -i, spiegata più avanti.

4. Come spostare una directory in Linux con il comando mv

Puoi anche usare il comando mv per spostare le directory. Il comando è lo stesso che abbiamo visto durante lo spostamento dei file.

mv source_directory target_directory

Nell'esempio precedente, se la directory_destinazione esiste, l'intera directory_origine verrà spostata all'interno della directory_destinazione. Ciò significa che la directory_origine diventerà una sottodirectory della directory_destinazione.

5. Come rinominare una directory

Rinominare una directory equivale a spostare una directory. L'unica differenza è che la directory di destinazione non deve esistere già. In caso contrario, l'intera directory verrà spostata al suo interno come abbiamo visto nella directory precedente.

mv source_directory path_to_non_existing_directory

6. Come gestire la sovrascrittura di un file durante lo spostamento

Se stai spostando un file ed è già presente un file con lo stesso nome, il contenuto del file esistente verrà sovrascritto immediatamente.

Questo potrebbe non essere l'ideale in tutte le situazioni. Hai alcune opzioni per gestire lo scenario di sovrascrittura.

Per impedire la sovrascrittura di file esistenti, è possibile utilizzare l'opzione -n. In questo modo, mv non sovrascriverà il file esistente.

mv -n source_file target_directory

Ma forse vuoi sovrascrivere alcuni file. Puoi usare l'opzione interattiva -i e ti chiederà se vuoi sovrascrivere i file esistenti.

mv -i source_file target_directory
mv: overwrite 'target_directory/source_file'?

Puoi inserire y per sovrascrivere il file esistente o n per non sovrascriverlo.

C'è anche un'opzione per fare backup automatici. Se usi l'opzione -b con il comando mv, sovrascriverà i file esistenti ma prima creerà un backup dei file sovrascritti.

mv -b file.txt target_dir/file.txt
ls target_dir
file.txt file.txt~

Per impostazione predefinita, il backup del file termina con ~. Puoi cambiarlo usando l'opzione -S e specificando il suffisso:

mv -S .back -b file.txt target_dir/file.txt
ls target_dir
file.txt file.txt.back

Puoi anche utilizzare l'opzione di aggiornamento -u quando si tratta di sovrascrittura. Con l'opzione -u, i file di origine verranno spostati nella nuova posizione solo se il file di origine è più recente del file esistente o se non esiste nella directory di destinazione.

Per riassumere:

  • -i :Conferma prima di sovrascrivere
  • -n :Nessuna sovrascrittura
  • -b :Sovrascrittura con backup
  • -u :Sovrascrivi se il file di destinazione è vecchio o non esiste

7. Come spostare forzatamente i file

Se il file di destinazione è protetto in scrittura, ti verrà chiesto di confermare prima di sovrascrivere il file di destinazione.

mv file1.txt target

mv: replace 'target/file1.txt', overriding mode 0444 (r--r--r--)? y

Per evitare questo messaggio e sovrascrivere il file immediatamente, puoi usare l'opzione force -f.

mv -f file1.txt target

Se non sai cos'è la protezione da scrittura, leggi le autorizzazioni dei file in Linux.

Puoi saperne di più sul comando mv sfogliando la sua pagina man. Tuttavia, è più probabile che tu usi solo questi esempi di comandi mv che ho mostrato qui. Cordiali saluti, puoi anche usare il comando rename per rinominare più file contemporaneamente.

Spero che questo articolo ti piaccia. Se hai domande o suggerimenti, non esitare a chiedere nella sezione commenti qui sotto.


Linux
  1. Esempi essenziali del comando file in Linux

  2. Esempi di comandi tail di Linux

  3. ln Esempi di comandi in Linux

  4. altri esempi di comandi in Linux

  5. head Esempi di comandi in Linux

Esempi essenziali del comando ps in Linux

Esempi di comandi di Linux cat

Esempi di comandi gzip di Linux

Esempi di comandi dumpe2fs in Linux

Esempi di comandi fsck in Linux

Esempi di comandi mkfs in Linux