Lo spostamento di file e directory è una delle attività più basilari che spesso devi eseguire su un sistema Linux.
In questo tutorial spiegheremo come usare il mv
comando per spostare file e directory.
Come utilizzare il mv
Comando #
Il mv
comando (abbreviazione di sposta) viene utilizzato per rinominare e spostare file e directory da una posizione all'altra. La sintassi per mv
il comando è il seguente:
mv [OPTIONS] SOURCE DESTINATION
La SOURCE
può essere uno o più file o directory e DESTINATION
può essere un singolo file o directory.
- Quando vengono forniti più file o directory come
SOURCE
, ilDESTINATION
deve essere una directory. In questo caso, ilSOURCE
i file vengono spostati nella directory di destinazione. - Se specifichi un singolo file come
SOURCE
e ilDESTINATION
target è una directory esistente, quindi il file viene spostato nella directory specificata. - Se specifichi un singolo file come
SOURCE
e un singolo file comeDESTINATION
target quindi stai rinominando il file. - Quando il
SOURCE
è una directory eDESTINATION
non esiste,SOURCE
verrà rinominato inDESTINATION
. Altrimenti seDESTINATION
esiste, deve essere spostato all'interno dellaDESTINATION
directory.
Per spostare un file o una directory, devi disporre dei permessi di scrittura su entrambi SOURCE
e DESTINATION
. In caso contrario, riceverai un errore di autorizzazione negata.
Ad esempio, per spostare il file file1
dalla directory di lavoro corrente al /tmp
directory che eseguiresti:
mv file1 /tmp
Per rinominare un file è necessario specificare il nome del file di destinazione:
mv file1 file2
La sintassi per spostare le directory è la stessa di quando si spostano i file. Nell'esempio seguente, se dir2
esiste, il comando sposterà dir1
dentro dir2
. Se dir2
non esiste, dir1
verrà rinominato in dir2
:
mv dir1 dir2
Spostamento di più file e directory #
Per spostare più file e directory, specifica i file che desideri spostare come origine. Ad esempio, per spostare i file file1
e file2
alla dir1
directory da digitare:
mv file1 file2 dir1
Il mv
Il comando consente anche di utilizzare la corrispondenza dei modelli. Ad esempio, per spostare tutti i pdf
file dalla directory corrente a ~/Documents
directory, useresti:
mv *.pdf ~/Documents
mv
Opzioni di comando #
Il mv
comando accetta diverse opzioni che influiscono sul comportamento predefinito del comando.
In alcune distribuzioni Linux, mv
potrebbe essere un aliasto di mv
comando con un set personalizzato di opzioni. Ad esempio, in CentOS mv
è un alias per mv -i
. Puoi scoprire se mv
è un alias che usa il type
comando:
type mv
Se mv
è alias l'output sarà simile a questo:
mv is aliased to `mv -i'
Se vengono fornite opzioni in conflitto, l'ultima ha la precedenza.
Avvisa prima di sovrascrivere #
Per impostazione predefinita, se il file di destinazione esiste, verrà sovrascritto. Per richiedere conferma, usa -i
opzione:
mv -i file1 /tmp
mv: overwrite '/tmp/file1'?
Per sovrascrivere il file digita y
o Y
.
Forza sovrascrittura #
Se provi a sovrascrivere un file di sola lettura, mv
comando ti chiederà se vuoi sovrascrivere il file:
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
Per evitare che ti venga richiesto, usa -f
opzioni:
mv -f file1 /tmp
Questa opzione è particolarmente utile quando devi sovrascrivere più file di sola lettura.
Non sovrascrivere i file esistenti #
Il -n
l'opzione dice a mv
non sovrascrivere mai alcun file esistente:
mv -n file1 /tmp
Se un file1
esiste il comando sopra non farà nulla. Altrimenti sposterà il file in /tmp
directory.
Backup dei file #
Se il file di destinazione esiste, puoi crearne un backup usando il -b
opzione:
mv -b file1 /tmp
Il file di backup avrà lo stesso nome del file originale con una tilde (~
) in allegato.
Utilizzare il comando ls per verificare che il backup sia stato creato:
ls /tmp/file1*
/tmp/file1 /tmp/file1~
Uscita dettagliata #
Un'altra opzione che può essere utile è -v
. Quando viene utilizzata questa opzione, il comando stampa il nome di ogni file spostato:
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'
Conclusione #
Il mv
comando viene utilizzato per spostare e rinominare file e directory.
Per ulteriori informazioni su mv
comando, controlla la pagina man o digita man mv
nel tuo terminale.
I nuovi utenti Linux che sono intimiditi dalla riga di comando possono utilizzare il file manager della GUI per spostare i propri file.
Se hai domande o feedback, sentiti libero di lasciare un commento.