#howto – Utilizzo del comando 'mv'
Il comando “mv” è la soluzione integrata in Linux per spostare e rinominare file nel sistema. Il suo utilizzo è estremamente facile e non richiede istruzioni complicate.
Sintassi
La sintassi del comando è la seguente:
mv path nuova_path
indifferentemente dall’uso che ne vogliamo fare (rinominare o spostare file), la sinstassi è sempre composta nel seguente modo:
- locazione corrente
- nuova locazione
sempre in questo ordine.
Utilizzo del comando
Come dicevo, l’utilizzo di questo comando è estremamente semplice, sia per spostare che rinominare un file, un possibile esempio è il seguente:
mv ~/Scaricati/file.tar.gz ~/il_mio_file.tar.gz
in questo caso stiamo spostando file.tar.gz dalla cartella Scaricati alla Home, rinominandolo in il_mio_file.tar.gz. Possiamo quindi eseguire due operazioni in una.
Sovrascrittura
Nel caso specifico in cui stiamo per spostare un file in una locazione dove ne esiste già uno con lo stesso nome, questo comando non ci informa della sovrascrittura e procede comunque (a meno di insufficienti permessi).
Ad ovviare questo problema entra in gioco la flag -i, nell’esempio:
mv -i ~/Scaricati/file.tar.gz ~/il_mio_file.tar.gz
l’output sarà:
mv: overwrite 'il_mio_file.tar.gz'?
dove sarà necessario rispondere Y o N per sovrascrivere o annullare l’operazione.
In alternativa è possibile usare la flag -n per evitare a priori di sovrascrivere un file già esistente, digitando quindi:
mv -n ~/Scaricati/file.tar.gz ~/il_mio_file.tar.gz
nel caso ~/il_mio_file.tar.gz esista già, non verrà sovrascritto.
Importante è tenere a mente che questo comando non supporta più flag contemporaneamente, utilizzando quindi più opzioni come -i -n verrà presa in considerazione solo quest’ultima.
Aggiornamento file
Una delle flag meno conosciute di questo comando è -u, una opzione che permette di “aggiornare” un file con una versione più recente. Facciamo l’esempio pratico in cui abbiamo 2 file:
- testo.txt in ~/Scaricati aggiornato alle 17:00 di oggi
- testo.txt in ~/Testi aggiornato alle 16:35 di oggi
utilizzando la flag -u come nell’esempio qui sotto:
mv -u ~/Scaricati/testo.txt ~/Testi/testo.txt
il file in ~/Testi verrà sovrascritto poichè la nuova versione rsiulta più recente, nel caso contrario non verrà modificato alcun file.
Backup dei file
Nel caso in cui vogliamo spostare un file in una locazione in cui ne è già presente uno con lo stesso nome, possiamo usare la flag -b per crearne un backup:
mv -b ~/Scaricati/testo.txt ~/Testi/testo.txt
quindi nella locazione ~/Testi troveremo i seguenti file:
- testo.txt
- testo.txt~
dove testo.txt~ è la copia backup del file che abbiamo sovrascritto.
Stato delle operazioni
Utilizzando la flag -v possiamo controllare lo stato delle operazioni in esecuzione, digitando ad esempio:
mv -v ~/Scaricati/testi.tar.gz ~/Archivi/testi.tar.gz
l’output sarà:
'~/Scaricati/testi.tar.gz' -> '~/Archivi/testi.tar.gz'
utile nel caso in cui vogliamo spostare più file da una locazione all’altra.
Per dubbi e chiarimenti, utilizzate il nostro gruppo Telegram.
?Good *nix __Mirko_