Il comando mv è uno dei comandi integrati di Linux e la sua funzione principale è spostare file e directory. Tuttavia, la funzione del comando mv non si limita allo spostamento di file; svolge anche una serie di altri compiti. In Linux, mv sta per move.
In questo tutorial impareremo come spostare file e directory in Linux usando mv Command.
Come usare il comando mv
Il comando mv viene utilizzato per spostare file e directory da una posizione all'altra. Quando si sposta il comando mv, eliminare il file o la directory originale. Ma attenderà che i file/le directory vengano completamente spostati per terminare l'azione. Quando si sposta un file in una destinazione, se la destinazione ha già un file con lo stesso nome, verrà sovrascritto.
Puoi anche usare il comando mv per rinominare il nome del file e della directory. Se entrambi i nomi di file o le directory si trovano sullo stesso filesystem, risulta in una ridenominazione.
Il mv non rinominerà una directory in un'altra directory se la directory di destinazione contiene la stessa directory con i file. I messaggi "Directory non vuota" arrivano per questo motivo.
La sintassi di base del comando mv è la seguente.
Sintassi:
$ mv [Options] Source Destination
[Options] si riferisce alle varie opzioni del comando mv. La Source potrebbe essere un singolo file o directory o più file o directory. Alla Destination , è possibile specificare un singolo file o directory.
Devi disporre dell'autorizzazione di scrittura su entrambi i Source e la Destination per spostare un file o una directory, altrimenti riceverai un errore di autorizzazione negata.
- Quando il
Sourceè costituito da numerosi file o directory, laDestinationdeve essere una directory. I file o le directory inSourcevengono spostati nellaDestinationdirectory.
Ad esempio, se dobbiamo spostare il text1.txt file nel /dir1 directory, la sintassi sarebbe la seguente.
$ mv text1.txt /dir1 - Quando il
Sourceè costituito da numerosi file o directory, laDestinationdeve essere una directory. I file o le directory inSourcevengono spostati nellaDestinationdirectory.
- Quando il
Sourceè un singolo file e laDestinationè una directory, il file viene spostato nellaDestinationdirectory.
- Quando la Sorgente è un singolo file e la Destinazione è un nome file, il file Sorgente viene rinominato in Nome file Destinazione.
- L'origine è una directory, così come la destinazione, ma la directory di destinazione non esiste. In questa situazione, la directory di origine verrà rinominata come directory di destinazione. Se la directory di destinazione esiste già, la directory di origine viene spostata in essa.
Come spostare più file o directory
Per spostare più file o directory, devi prima specificare il Source i nomi dei file e la Destination directory.
Ad esempio, per spostare i file di testo1, testo2 e testo3 nella directory dir1, utilizzare la seguente sintassi.
$ mv text1 text2 text3 dir1 Il comando mv supporta anche il pattern matching Ad esempio, puoi usare la seguente sintassi per spostare tutti i file di testo nella directory ~/Documents.
$ mv *.txt ~/Documents Come rinominare un file o una directory
È possibile utilizzare il comando mv per rinominare un file o una directory.
Ad esempio, per rinominare un file da text1.txt a text2.txt, utilizzare la seguente sintassi.
$ mv text1.txt text2.txt Ad esempio, se dobbiamo spostare la directory dir1 nella directory dir2, la sintassi sarebbe la seguente. Tuttavia, se la dir2 non esiste, la directory dir1 viene rinominata come dir2.
$ mv dir1 dir2 Opzioni comando mv
Il comando mv fornisce varie opzioni per scopi specifici. Alcune delle utili opzioni del comando mv sono:
Avviso prima di sovrascrivere
Se la Destination esiste già un file o una directory, viene sovrascritta per impostazione predefinita. Il -i l'opzione può essere utilizzata per visualizzare una richiesta di conferma. La seguente sintassi viene utilizzata per visualizzare i prompt prima della sovrascrittura.
$ mv -i Source Destination Durante il tentativo di spostare file1 nella directory dir1 quando file1 esiste già in dir1, apparirà un messaggio come:
mv: overwrite 'dir1/file1'?
Se vuoi sovrascrivere digita y o Y .
Non sovrascrivere il file esistente
Per non sovrascrivere mai un file esistente, usa l'opzione -n insieme al comando mv, come mostrato nella seguente sintassi.
$ mv -n Source Destination Quando si tenta di spostare file1 nella directory dir1, se file1 esiste già, il comando non farà nulla; in caso contrario, il file verrà spostato in dir1.
Sovrascrittura forzata
La seguente sintassi può essere utilizzata per forzare la sovrascrittura di un file senza visualizzare un messaggio di richiesta.
$ mv -f Source Destination File di backup
Per eseguire il backup di un file in un file di destinazione esistente, utilizzare l'opzione della riga di comando -b. La seguente sintassi può essere utilizzata per eseguire il backup di un file.
$ mv -b Source Destination Nel file di backup verrà visualizzata una tilde (~) con lo stesso nome dell'originale.
Conclusione
In questo tutorial, abbiamo imparato come usare il comando mv in Linux. Per maggiori informazioni fare riferimento a man mv.