Introducción
Renombrar un directorio es una de las tareas más básicas que realizarás en cualquier sistema operativo. La terminal de Linux ofrece varias formas diferentes de renombrar directorios utilizando comandos y scripts.
En este tutorial, repasaremos los diferentes métodos que puedes utilizar para renombrar un directorio en Linux a través de la ventana de la terminal.
Requisitos Previos
- Un sistema que ejecute una distribución de Linux.
- Una cuenta con privilegios de sudo.
- Acceso a la ventana de la terminal o línea de comandos.
- Acceso a un editor de texto, como Vim o Nano.
Renombrar Directorios con el Comando mv
La función principal del comando mv en Linux es mover archivos y directorios de un lugar a otro. Utiliza la siguiente sintaxis de comando:
mv [opciones] [origen] [destino]
Si el directorio de destino no existe, el comando mv renombrará el directorio de origen en su lugar. En este caso, la sintaxis cambia a:
mv [opciones] [nombre de directorio actual] [nuevo nombre de directorio]
Como ejemplo, supongamos que tenemos los directorios Directorio1, Directorio2 y Directorio3 en nuestro directorio Home:

Para renombrar Directorio1 como Example_Directory con el comando mv, utiliza:
mv Directorio1 Example_Directory
No hay salida si el comando es exitoso, así que debemos utilizar el comando ls para verificar el cambio de nombre:
ls -l

Renombrar Directorios con el Comando rename
El comando rename en Linux es un comando dedicado utilizado para cambiar los nombres de archivos y directorios. Utilizar este comando facilita el proceso de renombrar varios directorios al mismo tiempo.
Nota: El comando rename no está incluido en todas las distribuciones de Linux por defecto. Si tu sistema no tiene el comando rename, instálalo con:
- Para Ubuntu y Debian, utiliza
sudo apt install rename
- Para CentOS y Fedora, utiliza
sudo yum install prename
- Para Arch Linux, utiliza
sudo pacman -S rename
Renombrar un Solo Directorio con el Comando rename
El comando rename utiliza la siguiente sintaxis:
rename [opciones] 's/[expresión]/[reemplazo]/' [nombre de archivo]
El comando renombra el archivo reemplazando la primera aparición de la expresión con el reemplazo. Por ejemplo, si queremos renombrar Directorio1 a Example_Directory:
rename 's/Directory1/Example_Directory/' *
En este ejemplo, podemos ver que la sintaxis del comando rename consiste en varias secciones:
- rename: Invoca el comando rename.
- s: Abreviatura de substitute (sustituir), indica que estamos reemplazando la expresión con el reemplazo.
- /Directory1: Especifica la expresión o parte del antiguo nombre del directorio que deseas reemplazar.
- /Example_Directory/: Define el reemplazo o el nuevo nombre del directorio.
- *: Busca en el directorio Home los nombres que coinciden con la expresión proporcionada.
Verificar el contenido del directorio Home con el comando ls muestra que el directorio ahora tiene un nuevo nombre:

Renombrar Múltiples Directorios con el Comando rename
El comando rename ofrece una forma de renombrar varios directorios al mismo tiempo sin utilizar scripts de bash. Por ejemplo, si queremos renombrar Directorio1, Directorio2 y Directorio3 como Carpeta1, Carpeta2 y Carpeta3:
rename -v 's/Directory/Folder/' *
En el ejemplo anterior:
- -v: Invoca la salida detallada, mostrando cada paso del proceso.
- ‘s/Directory/Folder/’: Reemplaza Directory en los nombres de los resultados de búsqueda con Folder.
- *: Busca en el directorio Home los nombres que coinciden con la expresión proporcionada.

El comando rename también puede traducir nombres de archivos utilizando el argumento y en lugar del argumento s. En este caso, traduce una cadena de caracteres en otra, carácter por carácter.
Por ejemplo:
rename 'y/abc/def/'
El comando anterior traduce cada caracter a en d, cada b en e y cada c en f.
En el siguiente ejemplo, traducimos los espacios en blanco en los nombres de los directorios a guiones bajos (_).
rename -v 'y/ /_/' *

Renombrar Directorios con el Comando find
En caso de que no estés seguro de dónde se encuentra el directorio que deseas renombrar, utilizando el comando find junto con el comando mv te permite buscarlo y renombrarlo cuando se encuentre:
find . -depth -type d -name [nombre de directorio actual] -execdir mv {} [nuevo nombre de directorio] \;
En el ejemplo anterior, -execdir ejecuta el comando mv una vez que el comando find encuentra el directorio.
Por ejemplo, el siguiente comando encuentra y renombra Directorio1 como Example_Directory:
find . -depth -type d -name Directory1 -execdir mv {} Example_Directory \;

Renombrar Directorios con Scripts de Bash
Utilizar scripts de bash es otra forma de renombrar varios directorios al mismo tiempo. A diferencia del comando rename, los scripts de bash te permiten guardar una plantilla para uso futuro.
Comienza creando el script con un editor de texto, como Nano:
sudo nano rename_directories.sh
El siguiente ejemplo es un script de bash que busca directorios y agrega la fecha actual a sus nombres:
#!/bin/bash
Busca directorios y les cambia el nombre según el patrón especificado
for d in *
do
if [ -d "$d" ]
then
mv -- "$d" "{d}_$(date +%Y%m%d)"
fi
done
En el ejemplo anterior:
- La primera línea instruye al script a recorrer todos los archivos y directorios en la ubicación actual.
- Las líneas 2 y 3 verifican si se trata de directorios.
- Las líneas 4 y 5 agregan la fecha actual al nombre de cualquier directorio encontrado.
Pulsa Ctrl+X, escribe Y y presiona Enter para cerrar y guardar el script.
Como ejemplo, usemos el script anterior para cambiar los nombres de Directorio1, Directorio2 y Directorio3, ubicados en el directorio Ejemplo.
Comienza moviéndote al directorio Ejemplo:
cd Ejemplo
Aprende más sobre el comando cd de Linux en nuestra guía sobre cómo cambiar y moverte entre diferentes directorios.
A continuación, ejecuta el script utilizando el comando sh:
sh rename_directories.sh
Utilizar el comando ls nos permite verificar el cambio de nombre:
ls -l

Conclusión
Después de leer este artículo, deberías saber cómo renombrar directorios en Linux utilizando comandos y scripts de bash.