Introduzione
Rinominare una directory è una delle attività più basilari che eseguirai su qualsiasi sistema operativo. Il terminale Linux offre diversi modi per rinominare le directory usando comandi e script.
In questo tutorial, esamineremo i diversi metodi che puoi utilizzare per rinominare una directory in Linux tramite la finestra del terminale.
Prerequisiti
- Un sistema che esegue una distribuzione Linux
- Un account con privilegi sudo
- Accesso alla finestra del terminale/riga di comando
- Accesso a un editor di testo, come Vim o Nano
Rinominare le directory con il comando mv
La funzione principale di mv
Il comando in Linux sta spostando file e directory da un posto all'altro. Utilizza la seguente sintassi dei comandi:
mv [options] [source] [destination]
Se la directory di destinazione non esiste, il mv
comando rinomina invece la directory di origine. In questo caso, la sintassi cambia in:
mv [options] [current directory name] [new directory name]
Ad esempio, supponiamo di avere Directory1 , Directory2 e Directory3 nella nostra Casa directory:
Per rinominare Directory1 in Directory_esempio con il mv
comando, usa:
mv Directory1 Example_Directory
Non c'è output se il comando ha esito positivo, quindi è necessario utilizzare ls
comando per verificare la modifica del nome:
ls -l
Rinominare le directory con il comando rinomina
Il rename
command in Linux è un comando dedicato utilizzato per cambiare i nomi di file e directory. L'utilizzo di questo comando semplifica la ridenominazione di più directory contemporaneamente.
Rinominare una singola directory con il comando rinomina
Il rename
comando utilizza la seguente sintassi:
rename [options] 's/[expression]/[replacement]/' [file name]
Il comando rinomina il file sostituendo la prima occorrenza dell'espressione con la sostituzione . Ad esempio, se vogliamo rinominare Directory1 a Directory_esempio :
rename 's/Directory1/Example_Directory/' *
In questo esempio, possiamo vedere che rename
la sintassi del comando è composta da diverse sezioni:
rename
:Richiama ilrename
comando.s
:Abbreviazione di sostituto , indica che stiamo sostituendo l'espressione con la sostituzione.- /
Directory1
:specifica l'espressione o la parte del vecchio nome della directory che desideri sostituire. /Example_Directory
/ :definisce la sostituzione o il nuovo nome della directory.*
:Cerca nella Casa directory per i nomi che corrispondono all'espressione fornita.
Verifica della Casa contenuto della directory con ls
comando mostra che la directory ora ha un nuovo nome:
Rinominare più directory con il comando rinomina
Il rename
Il comando fornisce un modo per rinominare più directory contemporaneamente senza utilizzare script bash. Ad esempio, se vogliamo rinominare Directory1 , Directory2 e Directory3 nella Cartella1 , Cartella2 e Cartella3 :
rename -v 's/Directory/Folder/' *
Nell'esempio sopra:
-v
:richiama l'output dettagliato, elencando ogni passaggio del processo.'s/Directory/Folder/'
:Sostituisce Directory nei nomi dei risultati di ricerca con Cartella .*
:Cerca nella Casa directory per i nomi che corrispondono all'espressione fornita.
Il rename
Il comando può anche tradurre i nomi dei file utilizzando la y argomento invece delle s discussione. In questo caso, traduce una stringa di caratteri in un'altra, carattere per carattere.
Ad esempio:
rename 'y/abc/def/'
Il comando sopra traduce ogni a carattere in d , ogni b in e e ogni c in f .
Nell'esempio seguente, abbiamo tradotto gli spazi vuoti nei nomi delle directory in caratteri di sottolineatura (_ ).
rename -v 'y/ /_/' *
Rinominare le directory con il comando trova
Nel caso non siate sicuri di dove si trovi la directory che volete rinominare, usate il comando find con il mv
comando ti consente di cercarlo e rinominarlo quando viene trovato:
find . -depth -type d -name [current directory name] -execdir mv {} [new directory name] \;
Nell'esempio sopra, -execdir
esegue il mv
comando una volta che find
il comando individua la directory.
Ad esempio, il comando seguente trova e rinomina Directory1 in Directory_esempio :
find . -depth -type d -name Directory1 -execdir mv {} Example_Directory \;
Rinominare le directory con gli script Bash
L'uso degli script bash è un altro modo per rinominare più directory contemporaneamente. A differenza di rename
comando, gli script bash ti consentono di salvare un modello per un uso futuro.
Inizia creando lo script con un editor di testo, come Nano:
sudo nano rename_directories.sh
L'esempio seguente è uno script bash che cerca le directory e aggiunge la data corrente al loro nome:
#!/bin/bash
#Searches for directories and renames them according to the specified pattern
for d in *
do
if [ -d "$d" ]
then
mv -- "$d" "{d}_$(date +%Y%m%d)"
fi
done
Nell'esempio sopra:
- La prima riga indica allo script di scorrere tutti i file e le directory nella posizione corrente.
- Le righe 2 e 3 controllano le directory.
- Le righe 4 e 5 aggiungono la data corrente al nome di qualsiasi directory trovata.
Premi Ctrl+X , digita Y e premi Invio per chiudere e salvare lo script.
Ad esempio, usiamo lo script sopra per cambiare i nomi di Directory1 , Directory2 e Directory3 , che si trova nell'Esempio directory.
Inizia passando all'Esempio directory:
cd Example
Quindi, esegui lo script utilizzando sh
comando:
sh rename_directory.sh
Utilizzando ls
comando ci permette di verificare la modifica del nome:
ls -l