Spostare file e directory in Linux utilizzando il comando Mv

Suraj Joshi 18 luglio 2021
Spostare file e directory in Linux utilizzando il comando Mv

Possiamo spostare file e directory usando il comando mv con vari argomenti tramite Linux Terminal.

Spostare file e directory utilizzando il comando mv

Il comando mv(move) potrebbe spostare file e directory da una posizione all’altra. Può anche essere utilizzato per rinominare file e directory.

Sintassi del comando mv:

mv [OPTIONS] source destination

La sorgente nel comando precedente può essere uno o più file o directory e destination è sempre un singolo file o directory.

Se abbiamo più file o directory come origine, la destinazione è sempre directory. In questo caso, tutti i file e le directory di origine vengono spostati nella directory di destinazione. Se abbiamo un singolo file come origine e una directory come destinazione, il file viene spostato nella directory di destinazione.

Un punto importante da notare durante lo spostamento di file e directory è che se non disponiamo dei permessi di scrittura sia per l’origine che per la destinazione, otterremo un errore di autorizzazione negata.

Spostare il file in una directory utilizzando il comando mv

Possiamo usare il seguente comando per spostare un file all’interno di una directory.

mv <filename> <path_of _destination_directory>

Esempio: spostare un file all’interno di una directory utilizzando il comando mv

mv ILLUMEE.svg SVG

Sposta il file ILLUMEE.svg nella directory di lavoro corrente nella cartella SVG nella directory di lavoro corrente.

Se la directory di destinazione non è presente, il file di origine viene rinominato come file di destinazione.

Se la directory SVG non è presente nella directory di lavoro corrente, il file ILLUMEE.svg viene rinominato in SVG.

Se il percorso di destinazione è anche un nome di file, il nome del file di origine viene rinominato con il nome del file di destinazione.

mv ILLUMEE.svg 1.svg

Rinominerà il file ILLUMEE.svg in 1.svg.

In alcuni casi, il file di destinazione potrebbe già esistere e verrà sovrascritto se utilizziamo il comando mv. Per richiedere una conferma prima di sovrascrivere, usiamo l’opzione -i con il comando mv.

mv -i ILLUMEE.svg 1.svg

Se il nome del file 1.svg esiste già, il terminale ci chiederà prima di sovrascriverlo.

mv -i ILLUMEE.svg 1.svg

Produzione:

mv: overwrite '1.svg'? n

Per evitare la sovrascrittura, premere N e premere il tasto Enter altrimenti premere Y e premere Enter.

Possiamo anche impedire la sovrascrittura usando l’opzione -n con il comando mv.

mv -n ILLUMEE.svg 1.svg

Impedirà la sovrascrittura di 1.svg se già esistente.

Spostare una directory all’interno di un’altra directory utilizzando il comando mv

Per spostare una directory all’interno di un’altra directory, possiamo utilizzare il seguente comando:

mv <path_of_source_directory> <path_of _destination_directory>

Esempio: spostare una directory all’interno di un’altra directory utilizzando il comando mv

mv Python_Scripts Python_Scripts_New

Sposta la directory Python_Scripts nella nostra directory di lavoro corrente all’interno di un’altra directory Python_Scripts_New nella directory di lavoro corrente.

Se la directory di destinazione non è presente, la directory di origine viene rinominata nella directory di destinazione.

Spostare più file all’interno di un’altra directory utilizzando il comando mv

Per spostare più file all’interno di un’altra directory, specifichiamo tutti i file di origine seguiti dal percorso della directory di destinazione.

mv <source_filepath_1> <source_filepath_2> <source_filepath_3> 
     <path_of_destination_directory>

Esempio: spostare più file all’interno di un’altra directory utilizzando il comando mv

mv 1.jpg 2.jpg 2.png Images

Sposta i file 1.jpg, 2.jpg e 2.png nella nostra directory di lavoro corrente all’interno di un’altra directory Images nella directory di lavoro corrente.

Possiamo anche spostare più file all’interno di una directory utilizzando espressioni regolari per abbinare i nomi dei file che devono essere spostati.

mv *.jpg JPG-Images

Sposta tutti i file che terminano con .jpg nella cartella JPG-Images.

Fai un backup di un file esistente

Per eseguire il backup dei file esistenti, usiamo l’opzione -b. Creerà un backup del file sovrascritto con il carattere ~ allegato al nome del file di backup.

mv -b abc.jpg 123.jpg
ls

Produzione:

123.jpg 123.jpg~
Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Linux Files and Directories