GNU/Linux >> Linux Esercitazione >  >> Linux

Come rinominare le directory in Linux

La ridenominazione delle directory è una delle operazioni più basilari che spesso è necessario eseguire su un sistema Linux. Puoi rinominare le directory dal file manager della GUI con un paio di clic o utilizzando il terminale della riga di comando.

Questo articolo spiega come rinominare le directory utilizzando la riga di comando.

Rinominare le directory #

Nei sistemi operativi simili a Linux e Unix, puoi usare mv (a meno di sposta) comando per rinominare o spostare file e directory da una posizione all'altra.

La sintassi di mv il comando per spostare le directory è il seguente:

mv [OPTIONS] source destination

Ad esempio, per rinominare la directory dir1 come dir2 correresti:

mv dir1 dir2

Quando si rinominano le directory, è necessario specificare esattamente due argomenti in mv comando. Il primo argomento è il nome corrente della directory e il secondo è il nuovo nome.

È importante notare che se dir2 esiste già, dir1 viene spostato nella dir2 directory.

Per rinominare una directory che non si trova nella directory di lavoro corrente, devi specificare il percorso assoluto o relativo:

mv /home/user/dir1 /home/user/dir2

Rinominare più directory #

Rinominare una singola directory è un compito semplice, ma rinominare più directory contemporaneamente può essere una sfida, soprattutto per i nuovi utenti Linux.

Raramente è necessario rinominare più directory contemporaneamente.

Rinominare più directory con mv #

Il mv comando può rinominare solo un file alla volta. Tuttavia, può essere utilizzato insieme ad altri comandi come find o all'interno di loop per rinominare più file contemporaneamente.

Ecco un esempio che mostra come usare Bash for loop per aggiungere la data corrente ai nomi di tutte le directory nella directory di lavoro corrente:

for d in *; do 
  if [ -d "$d" ]; then
    mv -- "$d" "${d}_$(date +%Y%m%d)"
  fi
done

Analizziamo il codice riga per riga:

  • La prima riga crea un ciclo e scorre un elenco di tutti i file.
  • La seconda riga controlla se il file è una directory.
  • La terza riga aggiunge la data corrente a ciascuna directory.

Ecco una soluzione per lo stesso compito usando mv in combinazione con find :

find . -mindepth 1 -prune -type d -exec sh -c 'd="{}"; mv -- "$d" "${d}_$(date +%Y%m%d)"' \;

Il find il comando sta passando tutte le directory a mv uno per uno usando il -exec opzione. La stringa {} è il nome della directory attualmente in elaborazione.

Come puoi vedere dagli esempi, rinominare più directory con mv non è un compito facile in quanto richiede una buona conoscenza degli script Bash.

Rinominare più directory con rename #

Il rename comando viene utilizzato per rinominare più file e directory. Questo comando è più avanzato di mv in quanto richiede una conoscenza di base delle espressioni regolari.

Esistono due versioni di rename comando con sintassi diversa. Utilizzeremo la versione Perl di rename comando. I file vengono rinominati in base all'espressione regolare perl data.

L'esempio seguente mostra come sostituire gli spazi nei nomi di tutte le directory nella directory di lavoro corrente con caratteri di sottolineatura:

find . -mindepth 1 -prune -type d | rename 'y/ /_/'

Per andare sul sicuro, passa il -n opzione per rename per stampare i nomi delle directory da rinominare senza rinominarle.

Ecco un altro esempio che mostra come convertire i nomi delle directory in minuscolo:

find . -mindepth 1 -prune -type d | rename 'y/A-Z/a-z/'

Conclusione #

Ti abbiamo mostrato come utilizzare il mv comandi per rinominare le directory.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Come rinominare i file in Linux

  2. Come rinominare un file in Linux?

  3. Come modificare o rinominare un punto di montaggio in Linux

  4. Come eseguire il looping delle directory in Linux?

  5. Come elencare in modo ricorsivo le directory in C su Linux?

Come rinominare i file usando la riga di comando in Linux

Come rinominare uno o più file in Linux

Come navigare nelle directory più velocemente in Linux

Come rinominare il nome del database MySQL in Linux

Come rinominare file e directory in Linux

Come elencare solo le directory in Linux