5.4 Spostamento o rinominazione di file o directory
Un oggetto del filesystem può essere spostato o rinominato per mezzo del comando mv (man
page mv(1)) (move). Lo spostamento di un file o una directory consiste nel modificare la
directory di appartenenza dell’inode ad esso associato, in modo che il suo contenuto non sia
più raggiungibile con il path attuale, ma con un nuovo path. La rinominazione
consiste nel cambiamento del nome associato al file o alla directory: anche questa
operazione fa sì che il contenuto del file o directory sia raggiungibile attraverso un nuovo
path.
____________________________________________________________________
Comando: mv
Path: /bin/mv
SINTASSI
$ mv [option] source dest
DESCRIZIONE
-
option è l’insieme delle opzioni che modificano il comportamento di mv. Può assumere i
seguenti valori:
-
-b [control] | --backup[=control]
effettua un backup di ogni file di destinazione esistente, secondo
quanto indicato da control (v. tab. 5.4);
| Tabella 5.4: | Possibili opzioni di -b o --backup. |
|
-
-f | --force
non chiede conferma di sovrascrittura dei file (come --reply=yes);
-
-i | --interactive
richiede una conferma di sovrascrittura dei file esistenti (come
--reply=query);
-
--reply={yes|no|query}
specifica come gestire il caso in cui esista già un file o directory con
lo stesso nome di quello specificato da source: yes indica di
rimpiazzare il file esistente (il contenuto file esistente sarà perduto
- comportamenteo di default), no indica di non rimpiazzare
il file esistente (il file non verrà spostato/rinominato affatto),
query indica di richiedere all’utente se rimpiazzare o meno il file
esistente;
-
--strip-trailing-slashes
elimina tutti gli eventuali slash (/) presenti nella parte finale del nome dei
file o directory da spostare/rinominare;
-
-S | --suffix=suffix
indica il suffisso (suffix) da utilizzare per i file di backup (per default è
‘~’);
-
--target-directory=directory
sposta i file indicati da source nella directory directory;
-
-u | --update
sposta/rinomina soltanto i file specificati da source più nuovi
rispetto a quelli di destinazione o non esistenti nella directory di
destinazione;
-
-v | --verbose
visualizza dei messaggi di informazione;
-
--help visualizza un aiuto sommario di mv;
-
--version
visualizza la versione di mv;
-
source nome del file (o della directory) da spostare/rinominare;
-
dest nuovo nome del file (o della directory) o nome della directory in cui spostare il file
indicato da source;
______________________________________________________
Ad esempio, il comando
$ mv pippo pluto
cambia il nome del file pippo, presente nella working directory, in pluto, mentre il
comando
$ mv pippo /home/daniele/prova/pluto
sposta il file pippo nella directory /home/daniele/prova rinominandolo in pluto. In
seguito a tale operazione, il contenuto del file che originariamente era raggiungibile da pippo,
lo sarà da /home/daniele/prova/pluto. Il comando
$ mv -uv * /home/daniele/prova
sposta soltanto i file più recenti dalla working directory nella directory /home/daniele/prova,
visualizzando i nomi dei file effettivamente spostati.