Come rinominare una cartella in Linux: una guida completa dal terminale

Ultimo aggiornamento: Dicembre 30 2025
  • Padroneggiare il comando mv consente di rinominare e spostare cartelle e file in Linux in modo rapido e sicuro, sia localmente che su server remoti.
  • I comandi cp e rm completano mv per copiare, eliminare e riorganizzare intere directory, sfruttando opzioni quali -r, -i, -fy e -v.
  • Lo strumento di rinomina e i cicli shell semplificano la rinomina in blocco dei file utilizzando modelli ed espressioni regolari.
  • Per evitare la perdita di dati è fondamentale utilizzare percorsi corretti, controllare con ls e fare attenzione ai caratteri jolly e alle opzioni distruttive.

Rinomina cartella in Linux

Se lavorate con i server o sviluppate progetti in Linux, prima o poi vi capiterà di dover rinominare cartelle e file dal terminale . Sembra abbastanza semplice, ma quando si è alle prime armi, orientarsi tra comandi, percorsi e opzioni può risultare scoraggiante, soprattutto se si proviene da un ambiente grafico come GNOME, KDE o simili e si è più abituati a un file manager.

La buona notizia è che in Linux tutto questo può essere risolto con pochi potenti comandi. Comprendendo come funzionano `mv`, `cp`, `rm` e lo strumento `rename` , avrai il controllo completo su come rinominare, spostare, copiare e gestire le directory, sia sulla tua macchina locale che su server remoti tramite SSH.

Concetti di base: directory, percorsi e terminale in Linux

Prima di iniziare qualsiasi operazione, è importante capire esattamente cos'è una cartella in Linux: internamente, una directory è un tipo speciale di file che memorizza un indice dei nomi dei file e delle sottodirectory che contiene. In altre parole, quando rinominiamo una cartella, non ne copiamo né modifichiamo il contenuto; cambiamo solo il nome dell'indice.

In Linux, la struttura del file system è gerarchica, quindi i percorsi possono essere assoluti o relativi . Un percorso assoluto inizia sempre con / (ad esempio, /home/user/project ), mentre un percorso relativo viene interpretato in base alla directory corrente (ad esempio, project/img se ci si trova già in /home/user).

Per navigare in questa struttura, utilizziamo il terminale. Il comando ` cd` cambia directory, ` pwd` mostra il percorso esatto e `ls` elenca il contenuto. Questi tre comandi sono essenziali per evitare errori di percorso negli esempi di ridenominazione che vedremo più avanti.

Quando si lavora sui server, soprattutto nello sviluppo web, è molto comune connettersi tramite SSH: `ssh utente@server` . Una volta stabilita la connessione, tutte le operazioni eseguite con `mv`, `cp`, `rm` e `rename` funzionano allo stesso modo che sulla macchina locale, con la differenza che ora si interviene sui file presenti sul server remoto.

Il comando mv: spostare e rinominare le directory in Linux

Lo strumento principale per rinominare le cartelle in Linux è il comando `mv` , abbreviazione di "move" (sposta). La sua funzione principale è quella di spostare file e directory, ma funziona perfettamente anche per rinominarli senza spostarli fisicamente.

La sintassi generale di mv è molto semplice: mv ORIGINE DESTINAZIONE . Il parametro ORIGINE è il file o la cartella già esistente, mentre DESTINAZIONE è il nuovo nome o percorso (con nome) in cui vogliamo spostarlo o rinominarlo.

Se vuoi vedere tutte le opzioni disponibili, puoi eseguire `mv --help` nel terminale. Vedrai qualcosa di simile a `mv ... `, insieme a un elenco di parametri e flag che ne adattano il comportamento alle tue esigenze.

Le opzioni `mv` più comunemente utilizzate quando si lavora con directory e file sono `-f`, `-i`, `-u` e `-v` . Non sono obbligatorie, ma offrono un controllo e una sicurezza considerevoli, soprattutto quando si rischia di sovrascrivere accidentalmente qualcosa di importante.

Altre opzioni utili del comando mv

Quando si inizia a rinominare e spostare file dalla console, la cosa più spaventosa è sovrascrivere accidentalmente un file o una cartella . Ecco perché ci sono diverse opzioni del comando `mv` che è bene memorizzare, perché le userete spesso.

Con l' opzione -i (interattiva), mv ti chiederà conferma prima di sovrascrivere una destinazione esistente. Ad esempio, se la directory di destinazione ha lo stesso nome di quella che vuoi spostare, mv ti chiederà conferma e potrai digitare y/n per continuare o annullare.

Il flag -f (forza) fa esattamente l'opposto: non chiede conferma e sovrascrive indiscriminatamente . È utile negli script automatizzati o quando si è certi che il file di destinazione possa essere sovrascritto, ma non è consigliabile usarlo con leggerezza se si è ancora alle prime armi.

L' opzione -u sposta o rinomina i file solo se il file di origine è più recente del file di destinazione o se il file di destinazione non esiste ancora. Questo è utile se si stanno sincronizzando le directory e si desidera evitare sostituzioni non necessarie.

Infine, l' opzione -v (verbose) fa sì che mv visualizzi le operazioni che sta eseguendo in ogni fase. Ovvero, vedrai righe come "rinominato 'img' -> 'images'" , il che è molto utile per tenere traccia delle operazioni che coinvolgono molti file.

Come rinominare una cartella in Linux con mv

Per rinominare una directory senza spostarla, è sufficiente specificare il nome corrente e il nuovo nome. Il metodo di base è `mv old_folder new_folder` , sempre rimanendo nella directory principale della cartella.

Immagina di avere una cartella chiamata "img" all'interno del tuo progetto e di volerla rinominare in "images" . Se ti trovi già nella directory del progetto, ti basterà eseguire il comando `mv img images` e in un attimo dirai addio al vecchio nome.

Per un esempio più esplicito, potresti prima elencare il contenuto con `ls -l` , controllare la directory `img` , eseguire il comando `mv -v img images` e quindi verificare nuovamente con `ls -l` che sia presente solo `images` . Il suffisso `-v` visualizzerà il messaggio di ridenominazione per evitare qualsiasi confusione.

  Ransomware multipiattaforma: panorama attuale, famiglie e difese

È importante notare un dettaglio che spesso genera confusione all'inizio: non si aggiunge una "/" alla fine del nome della directory quando la si rinomina . Ovvero, si scrive mv img images e non mv img/ images/ , perché in questo contesto la barra finale non è necessaria e può causare errori se viene confusa con altri percorsi.

Rinominare e spostare una cartella contemporaneamente

Uno dei vantaggi di `mv` è che permette di spostare una directory in un'altra posizione e rinominarla contemporaneamente, tutto con un unico comando. Questo è incredibilmente utile quando si riorganizza un progetto di grandi dimensioni o si ripulisce la struttura di un server.

Supponiamo di avere una cartella chiamata OldProject nella directory corrente e di volerla spostare in /home/user/Workspace , rinominandola NewProject . Il comando sarebbe il seguente: mv OldProject /home/user/Workspace/NewProject.

Se si desidera semplicemente risalire di un livello nella gerarchia mantenendo il nome, è possibile utilizzare percorsi relativi. Ad esempio, per spostare la cartella img nella directory superiore senza rinominarla, è sufficiente utilizzare il comando `mv img ../img` . In questo caso, `..` indica "la directory superiore".

Puoi anche spostarlo in un'altra cartella e rinominarlo mentre ci sei. Se hai una cartella "files" nel tuo progetto e vuoi rinominare "img " all'interno di "files", dovresti usare ` mv img files/images` . Dopo aver eseguito questo comando, il percorso finale sarà qualcosa del tipo `./ files/images`.

Tieni presente che quando sposti una directory tra due posizioni, se i file system di origine e di destinazione sono gli stessi, il comando `mv` effettua un cambio di riferimento molto rapido; se invece si trovano su file system diversi , l'operazione equivale a copiare tutto il contenuto e poi eliminare l'originale, il che può richiedere parecchio tempo se la cartella è di grandi dimensioni.

Rinominare directory e file su server remoti utilizzando SSH

Negli ambienti di sviluppo e produzione web, è molto comune lavorare su server Linux accessibili tramite SSH. Da quel momento in poi, tutti i comandi eseguiti nel terminale influiscono sui file del server, quindi rinominare le cartelle da remoto è equivalente a farlo in locale.

Per connettersi a un server, in genere si utilizza un comando come `ssh your-user@your-server` . Una volta autenticati, verrà visualizzato il prompt remoto e sarà possibile navigare utilizzando `cd` , elencare le directory con `ls` e rinominare le directory con `mv old_folder new_folder` esattamente nello stesso modo.

L'unica differenza pratica rispetto al computer locale è che qui bisogna prestare maggiore attenzione, perché un errore di ridenominazione in ambiente di produzione può compromettere i percorsi utilizzati in applicazioni, script, collegamenti simbolici o configurazioni interne del sistema.

Per ridurre al minimo i rischi, è consigliabile combinare `mv` con `ls` prima e dopo ogni operazione, e utilizzare anche `mv -i` per richiedere conferma in caso di sovrascrittura. Lavorare con percorsi assoluti aiuta inoltre a evitare confusione con le directory correnti.

Quando si rinominano cartelle o file utilizzati da script, servizi o applicazioni web, verificare la presenza di percorsi hardcoded che utilizzano il vecchio nome . In tal caso, aggiornarli in modo che puntino al nuovo nome per evitare errori 404, problemi di caricamento delle risorse o servizi che non si avviano.

Copia le directory in Linux con cp prima di rinominarle

Sebbene il comando `mv` permetta di rinominare direttamente i file, in molte situazioni è preferibile andare sul sicuro e lavorare con una copia prima di modificare l'originale. È qui che entra in gioco il comando `cp` , responsabile della copia di file e directory.

La sintassi di base di cp può essere riassunta come cp ORIGINE DESTINAZIONE . Se ORIGINE è un file, non ci sono molte complicazioni; ma se si desidera copiare un'intera cartella, c'è una sfumatura importante: è necessario utilizzare l' opzione -r o -R per rendere la copia ricorsiva e includere tutto il suo contenuto.

Ad esempio, se devi duplicare la cartella dei font nella stessa posizione con un nome diverso, potresti fare qualcosa del tipo `cp -r fonts/fonts2` . La barra dopo `fonts` è consigliata per chiarire che si tratta di una directory, anche se `cp` di solito lo presuppone; in ogni caso, molte guide raccomandano questo formato per evitare interpretazioni errate.

Se si desidera copiare la stessa cartella da una directory all'altra, utilizzare percorsi relativi o assoluti a seconda delle necessità. Un esempio classico è `cp -r fonts/ ../fonts2` , che copia la cartella `fonts` nella directory principale con il nome `fonts2`, lasciando intatta la cartella originale.

Tra le opzioni di cp, le più comuni sono -i (richiede conferma prima della sovrascrittura), -v (modalità verbale per mostrare l'avanzamento) e, naturalmente, -r/-R per indicare la ricorsione delle directory. Puoi vedere le altre opzioni con `man cp` o `cp --help` se vuoi personalizzare le tue copie.

Rinominare i file in Linux con mv

Tutto ciò che abbiamo visto per le directory si applica anche ai singoli file: il comando mv funziona sia per spostare che per rinominare un file , e la sintassi è praticamente identica, ma a livello di file.

Se ti trovi in ​​una directory contenente il file file1.txt e desideri rinominarlo file2.txt , ti basta eseguire il comando `mv file1.txt file2.txt` . Il contenuto rimane invariato, cambia solo il nome del file.

  Ottimizzazione delle pipeline in Linux: dalle pipeline alla CI/CD avanzata

Se non ti trovi nella directory corretta, prima spostati usando `cd` oppure specifica il percorso completo nel comando. Potresti fare qualcosa come `cd /home/user/docs/files` e poi `mv archivo1.txt archivo2.txt` , oppure direttamente `mv /home/user/docs/files/archivo1.txt /home/user/docs/files/ archivo2.txt`.

Per darvi un'idea, rinominare un file con mv è concettualmente equivalente a " copiarlo con un nuovo nome ed eliminare l'originale", anche se internamente il file system gestisce l'operazione in modo molto più efficiente e senza duplicare i dati.

Come per le cartelle, se si sposta un file tra diversi file system, mv crea internamente una copia e poi elimina l'originale; se rimane all'interno dello stesso sistema, modifica solo i riferimenti interni e l'operazione è istantanea.

Rinomina più file contemporaneamente utilizzando cicli e trova

Il comando mv di per sé non offre un'opzione specifica per rinominare più file contemporaneamente , ma funziona egregiamente con la shell di Linux, quindi è possibile combinarlo con cicli for, cicli while o il comando find per eseguire la rinominazione in blocco.

Un esempio tipico è la modifica dell'estensione di un insieme di file. Se si desidera che tutti i file .txt nella directory corrente diventino .pdf, è possibile utilizzare un ciclo for come questo: for f in *.txt; do mv — "${f}" "${f%.txt}.pdf"; done . Questo ciclo scorre ogni file che termina con .txt, "taglia" la parte .txt e la sostituisce con .pdf.

Questo tipo di ciclo è molto flessibile e permette di eseguire praticamente qualsiasi trasformazione di nome esprimibile tramite la sintassi della shell. Tuttavia, è consigliabile testarlo prima in una directory di prova per evitare problemi, soprattutto se non si ha familiarità con l'espansione dei parametri.

È inoltre possibile utilizzare `find` per individuare i file che soddisfano determinate condizioni (per nome, tipo, data, ecc.) e applicare loro il comando `mv` tramite un'azione `-exec` o con un ciclo `while`, leggendo i risultati. Questo è molto utile per rinominare file in strutture di directory di grandi dimensioni in modo più complesso.

Se tutto questo vi sembra un po' troppo avanzato, non preoccupatevi: col tempo vedrete che combinare mv con i cicli vi farà risparmiare molto lavoro e vi permetterà di automatizzare le attività ripetitive con poche righe di script di shell.

Il comando rename: rinominazione avanzata in blocco

Oltre a mv, molte distribuzioni dispongono di uno strumento chiamato rename , specificamente progettato per rinominare interi gruppi di file in modo molto efficace , utilizzando le espressioni regolari Perl.

Questo comando non è sempre preinstallato, ma aggiungerlo è semplicissimo. Su Debian, Ubuntu, Linux Mint e derivate, si può usare `sudo apt install rename` . Su CentOS o RHEL, il metodo usuale è `sudo yum install rename` . Su Arch Linux, invece, si utilizzano in genere pacchetti come `perl-rename` dall'AUR (ad esempio, con `yay` o `yaourt`).

La sintassi tipica per `rename` è la seguente: `rename 's/old_pattern/new_pattern/' files` . Ciò che si trova tra virgolette è un'espressione regolare Perl per la sostituzione, dove "s/this/for_this/" indica quale pattern si desidera trovare e con cosa si desidera sostituirlo.

Ad esempio, se in una directory hai creato dei file chiamati file1.txt, file2.txt, file3.txt, file4.txt e file5.txt (cosa che puoi fare rapidamente con mkdir nomefile; cd nomefile; touch file{1..5}.txt ), potresti rinominare solo file1.txt in newfile1.txt con rename 's/file1/newfile1/' file1.txt.

Se devi cambiare l'estensione di tutti i file .txt in .php, puoi semplicemente eseguire il comando `rename 's/.txt/.php/' *.txt` . Dopo aver eseguito il comando, puoi verificare con `ls` cosa è successo per assicurarti che tutti i nomi siano stati trasformati come previsto.

Esempi pratici con rinomina: lettere maiuscole, lettere minuscole e spazi

Uno dei vantaggi di `rename` è che, grazie alle espressioni regolari di Perl , consente trasformazioni molto specifiche che risulterebbero piuttosto complesse con un semplice ciclo e `mv`. Ci sono diversi casi d'uso tipici che vale la pena tenere a mente.

Se si desidera convertire tutti i nomi dei file in una directory in maiuscolo , è possibile eseguire un comando simile a `rename 'y/az/AZ/' *` . Questa sintassi utilizza l'operazione di traslitterazione "y", che sostituisce ogni lettera minuscola con la sua equivalente maiuscola.

Per fare l'opposto, ovvero convertire tutti i nomi in minuscolo , il comando sarebbe `rename 'y/AZ/az/' *` . Questo è molto utile quando ci si imbatte in sistemi in cui la combinazione di lettere maiuscole e minuscole è diventata incontrollabile nel tempo.

Un altro problema comune riguarda i file con spazi nei nomi, che possono risultare piuttosto fastidiosi quando si lavora nel terminale. È possibile sostituire gli spazi con dei trattini bassi utilizzando un comando come ` rename 'y/ /_/' *` , evitando così di dover utilizzare barre rovesciate o virgolette per anteporre gli spazi.

Se i file da modificare si trovano in una directory diversa, è possibile specificare direttamente il percorso al comando `rename`, ad esempio `rename 's/.txt/.php/' PERCORSO/DEI/FILE` . In questo modo non è necessario cambiare directory prima di eseguire il comando.

Per visualizzare tutte le opzioni supportate dalla tua specifica versione di `rename`, si consiglia di eseguire ` rename --help` o di consultare la relativa pagina man. Tieni presente che esistono varianti di `rename` specifiche per ogni distribuzione, quindi è sempre una buona idea verificare la sintassi esatta disponibile sul tuo sistema.

  Virtualizzazione hardware annidata: requisiti, utilizzi e configurazione

Rimuovi lo strumento di rinomina quando non ti serve più

Se in qualsiasi momento decidi di non voler più installare rename sul tuo sistema (ad esempio, perché su un server di produzione preferisci limitare gli strumenti disponibili), puoi disinstallarlo facilmente utilizzando lo stesso gestore di pacchetti che hai usato per installarlo.

Sulle distribuzioni basate su Debian come Ubuntu o Linux Mint, puoi eseguire `sudo apt remove rename` . Questo rimuoverà il pacchetto e lo renderà non disponibile nel terminale, anche se potrai sempre reinstallarlo in seguito se ne senti la mancanza.

In CentOS, RHEL e derivati, il comando equivalente per rimuovere il pacchetto è solitamente sudo yum remove rename , che rimuoverà l'utilità di ridenominazione in blocco dal sistema.

In ogni caso, anche senza aver installato il comando rename, avrai sempre la possibilità di rinominare directory e file con mv e, se necessario, creare i tuoi script di shell per automatizzare attività più complesse.

La chiave è scegliere lo strumento più adatto al proprio flusso di lavoro e all'ambiente in cui si opera: su un computer personale potrebbe avere senso installare tutto, mentre su un server critico si potrebbe preferire una soluzione più "snella" con un numero ridotto di comandi aggiuntivi.

Eliminazione di file e directory con rm: fare attenzione durante la pulizia

In qualsiasi operazione di organizzazione dei file, di solito arriva il momento di eliminare ciò che non serve più. In Linux, il comando responsabile di questa operazione è `rm` , che permette di eliminare sia singoli file che intere directory.

La sintassi generale per il comando rm può essere scritta come rm FILE… . Se si desidera eliminare un singolo file, ad esempio un vecchio file di log, è sufficiente un comando semplice come rm file.log , a condizione di disporre delle autorizzazioni necessarie.

Per lavorare con le directory, è necessario utilizzare l' opzione -r o -R , che abilita la cancellazione ricorsiva. Ad esempio, `rm -r cartella` tenterà di eliminare la cartella e tutto il suo contenuto (incluse sottocartelle e file), ma lo farà senza chiedere conferma per ogni elemento a meno che non si aggiungano altri flag.

Se vuoi fare un ulteriore passo avanti e forzare la cancellazione anche in presenza di restrizioni o file di sola lettura, esiste la combinazione `rm -rf cartella` , che unisce la ricorsione e l'opzione "forza". È molto potente, ma anche molto pericolosa: una distrazione con questo comando può cancellare metà del tuo computer.

Pertanto, negli ambienti in cui si preferisce essere più cauti, è consigliabile combinare -r con -i , in modo che rm chieda conferma per ogni file o directory. Un comando come rm -ri cartella obbligherà l'utente a confermare ogni passaggio, riducendo il rischio di eliminare qualcosa che non dovrebbe.

Elimina le directory vuote e altri dettagli da rm

Oltre a `rm`, esiste un comando specifico chiamato `rmdir` la cui unica funzione è quella di eliminare le directory vuote . Se la directory contiene qualcosa, `rmdir` fallirà e ti avviserà che non può eliminarla perché non è vuota.

Questo rende rmdir un'opzione leggermente più sicura quando si desidera pulire cartelle che si sa non contenere più file, ad esempio, dopo averne spostato il contenuto in un'altra posizione. Per visualizzare tutte le sue opzioni, è possibile eseguire `man rmdir` dal terminale.

Tornando al comando rm, oltre alle opzioni -i, -f, -r/-R e -v (per specificare cosa eliminare), ricorda che puoi usare i caratteri jolly come * e ? per selezionare gruppi di file. Un esempio tipico è l'eliminazione di tutti i file .txt da una directory con un comando simile a rm *.txt.

È anche possibile eliminare più file contemporaneamente specificandoli esplicitamente, ad esempio, `rm file1.log file2.log file3.log` . Questo evita di digitare `rm` più volte quando si sa esattamente quali file si desidera eliminare.

In ogni caso, ogni volta che si esegue un comando rm con caratteri jolly o con l'opzione -r, è consigliabile rivedere il comando prima di premere Invio e, se possibile, eseguire prima un comando ls per verificare quali file corrispondono al pattern utilizzato.

Padroneggiare i comandi rm, mv, cp e, quando necessario, rename vi permetterà di lavorare senza intoppi sia sul vostro desktop Linux che su server remoti, rinominando cartelle e file, spostandoli, copiandoli o eliminandoli senza dipendere dall'ambiente grafico e con la tranquillità di sapere esattamente cosa state facendo in ogni momento.

Organizza la raccolta ROM sul NAS
Articolo correlato:
Come organizzare la tua collezione ROM su un NAS passo dopo passo
TecnoDigitale

TecnoDigital

Appassionato di tecnologia e sviluppo software, mi addentro nel mondo dei sistemi e dell'informatica con l'obiettivo di promuovere l'innovazione e risolvere sfide complesse.