Introducción
Cambiar el nombre de un directorio es una de las tareas más básicas que realizará en cualquier sistema operativo. La terminal de Linux ofrece varias formas diferentes de cambiar el nombre de los directorios mediante comandos y scripts.
En este tutorial, repasaremos los diferentes métodos que puede usar para cambiar el nombre de un directorio en Linux a través de la ventana del terminal.
Requisitos previos
- Un sistema que ejecuta una distribución de Linux
- Una cuenta con privilegios sudo
- Acceso a la ventana de terminal/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 mv
comando en Linux está moviendo archivos y directorios de un lugar a otro. Utiliza la siguiente sintaxis de comando:
mv [options] [source] [destination]
Si el directorio de destino no existe, el mv
El comando cambia el nombre del directorio de origen en su lugar. En este caso, la sintaxis cambia a:
mv [options] [current directory name] [new directory name]
Como ejemplo, digamos que tenemos Directorio1 , Directorio2 y Directorio3 en nuestro Inicio directorio:
Para cambiar el nombre de Directorio1 en Example_Directory con el mv
comando, use:
mv Directory1 Example_Directory
No hay salida si el comando es exitoso, por lo que debemos usar ls
comando para verificar el cambio de nombre:
ls -l
Renombrar directorios con el comando renombrar
El rename
El comando en Linux es un comando dedicado que se usa para cambiar los nombres de archivos y directorios. El uso de este comando facilita el cambio de nombre de varios directorios al mismo tiempo.
Renombrar un solo directorio con el comando de cambio de nombre
El rename
El comando utiliza la siguiente sintaxis:
rename [options] 's/[expression]/[replacement]/' [file name]
El comando cambia el nombre del 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 rename
La sintaxis del comando consta de varias secciones:
rename
:Invoca elrename
comando.s
:Abreviatura de sustituto , indica que estamos reemplazando la expresión con el reemplazo.- /
Directory1
:especifica la expresión o la parte del nombre del directorio anterior que desea reemplazar. /Example_Directory
// fuerte :Define el reemplazo o el nuevo nombre del directorio.*
:Busca en Inicio directorio de nombres que coincidan con la expresión proporcionada.
Verificando el Inicio contenido del directorio con ls
El comando muestra que el directorio ahora tiene un nuevo nombre:
Renombrar varios directorios con el comando de cambio de nombre
El rename
El comando proporciona una forma de cambiar el nombre de varios directorios al mismo tiempo sin utilizar secuencias de comandos bash. Por ejemplo, si queremos renombrar Directorio1 , Directorio2 y Directorio3 a Carpeta1 , Carpeta2 y Carpeta3 :
rename -v 's/Directory/Folder/' *
En el ejemplo anterior:
-v
:Invoca la salida detallada, enumerando cada paso del proceso.'s/Directory/Folder/'
:Reemplaza Directorio en los nombres de los resultados de búsqueda con Carpeta .*
:Busca en Inicio directorio de nombres que coincidan con la expresión proporcionada.
El rename
El comando también puede traducir nombres de archivos usando y argumento en lugar de s argumento. En este caso, traduce una cadena de caracteres a otra, carácter por carácter.
Por ejemplo:
rename 'y/abc/def/'
El comando anterior traduce cada a carácter 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é seguro de dónde se encuentra el directorio que desea cambiar de nombre, utilice el comando de búsqueda con mv
El comando le permite buscarlo y cambiarle el nombre cuando lo encuentre:
find . -depth -type d -name [current directory name] -execdir mv {} [new directory name] \;
En el ejemplo anterior, -execdir
ejecuta el mv
comando una vez que find
El comando localiza el directorio.
Por ejemplo, el siguiente comando busca y cambia el nombre de Directory1 en Example_Directory :
find . -depth -type d -name Directory1 -execdir mv {} Example_Directory \;
Renombrar directorios con Bash Scripts
El uso de scripts bash es otra forma de cambiar el nombre de varios directorios al mismo tiempo. A diferencia de rename
comando, los scripts de bash le permiten guardar una plantilla para uso futuro.
Comience creando el script con un editor de texto, como Nano:
sudo nano rename_directories.sh
El siguiente ejemplo es un script bash que busca directorios y agrega la fecha actual a su nombre:
#!/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
En el ejemplo anterior:
- La primera línea le indica al script que revise todos los archivos y directorios en la ubicación actual.
- Las líneas 2 y 3 buscan directorios.
- Las líneas 4 y 5 agregan la fecha actual al nombre de cualquier directorio encontrado.
Presiona Ctrl+X , escriba Y y pulsa Intro para cerrar y guardar el script.
Como ejemplo, usemos el script anterior para cambiar los nombres de Directory1 , Directorio2 y Directorio3 , ubicado en el Ejemplo directorio.
Comience pasando al Ejemplo directorio:
cd Example
A continuación, ejecute el script utilizando sh
comando:
sh rename_directory.sh
Uso de ls
El comando nos permite verificar el cambio de nombre:
ls -l