Mv (Unix)
# Mv (Unix)

mv (abbreviazione dalla lingua inglese di move, sposta) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che cambia il nome di file e directory o li sposta in altre directory.

Quando lo spostamento avviene entro i confini dello stesso file system, mv crea e distrugge dei collegamenti fisici, per cui non vi sono differenze tra il cambio di un nome e lo spostamento in un'altra directory, ed il tempo di esecuzione dell'operazione è indipendente dalla dimensione dei file da spostare.

In caso di spostamenti tra file system diversi, l'operazione è eseguita effettuando prima una copia dei dati nella destinazione e poi una cancellazione delle sorgenti, e quindi il tempo di esecuzione delle operazioni dipende anche dalla dimensione dei file da spostare.

## Sintassi

La sintassi generale di mv è la seguente:

I parametri sorgente indicano i file e/o le directory a cui cambiare il nome. Se viene specificato un solo parametro sorgente, il parametro destinazione indica il nome del file o della directory di destinazione.

Se vengono specificati più parametri sorgente, il parametro destinazione deve necessariamente essere una directory esistente, o al più un collegamento simbolico ad una directory.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Tra le opzioni principali vi sono:

### -i

    Chiede conferma prima di sovrascrivere file esistenti.

### -f

    Non chiede conferma prima di sovrascrivere file esistenti (annulla l'effetto di -i).

## Esempi

Rinomina il file vecchio.txt in nuovo.txt:

Sposta i file uno.txt e due.txt nella directory /tmp

