Cómo cambiar el nombre de un directorio en Linux
Publicado: 2022-06-16
Cambiar el nombre de un directorio en Linux es fácil y hay muchas maneras de hacerlo. Desde cambiar el nombre de un solo directorio hasta encontrar y cambiar el nombre de muchos, así es como se hace.
Tus datos están seguros
Cambiar el nombre de los directorios es algo que todos debemos hacer de vez en cuando.
Podríamos crear un directorio y escribir mal su nombre, y queremos corregirlo. A menudo, el propósito de un directorio cambia con el tiempo o durante la vida de un proyecto, y desea ajustar el nombre para reflejar su nuevo uso. Tal vez haya descomprimido un archivo y haya creado un árbol de directorios con los nombres de los directorios en mayúsculas y le gustaría que estuvieran en minúsculas.
Cualquiera la razon. cambiar el nombre de un directorio no hace nada a los datos contenidos en él. Cambia la ruta a esos datos, pero los archivos y directorios dentro de su directorio renombrado no se tocan.
No cambie el nombre de los directorios del sistema. Cambiar la ruta a los archivos y comandos del sistema tendrá un efecto perjudicial en el funcionamiento de su computadora, por decir lo menos. Si necesita usar sudo
para cambiar el nombre de un directorio, a menos que realmente sepa lo que está haciendo, lo más probable es que no debería cambiarle el nombre.
Usando el comando mv
En los casos más sencillos, todo lo que realmente necesitamos es el comando mv
. Esta es una parte integral de cada distribución de Linux, por lo que no hay nada que instalar.
El comando mv
tiene más de 50 años en el momento de escribir este artículo. Proviene de los albores de Unix, cuando los comandos breves y crípticos estaban de moda, probablemente para reducir la cantidad de caracteres que tenían que pasar a lo largo de líneas seriales lentas desde teletipos y terminales tontas hasta la computadora real.
En realidad, significa "mover", y se puede usar para mover archivos de un directorio a otro. Si mueve un archivo a la misma ubicación en la que ya se encuentra y le asigna un nombre nuevo, habrá cambiado el nombre del archivo. Y podemos hacer lo mismo con los directorios.
Hay dos subdirectorios en este directorio.
ls
Para renombrar un directorio usamos el comando mv. Necesitamos proporcionar el nombre actual del directorio y el nuevo nombre.
mv trabajo antiguo archivo-2
Si el directorio al que desea cambiar el nombre no se encuentra en su directorio actual, proporcione la ruta y el nombre del directorio.
mv ~/htg/viejo-trabajo ~/htg/archive-2
ls
Uso del Explorador de archivos
Los exploradores de archivos pueden cambiar el nombre de los directorios. La combinación de teclas en la aplicación Archivos de GNOME es F2. Al resaltar un directorio y tocar la tecla F2, se abre el cuadro de diálogo "Cambiar nombre de carpeta".
Escriba el nuevo nombre y haga clic en el botón verde "Cambiar nombre".
El directorio se renombra para usted.
Es tan simple como eso.
El comando de cambio de nombre
Si sus necesidades son más complicadas que el simple cambio de nombre de un directorio, es posible que necesite usar el comando de cambio de rename
. Esto le permite usar expresiones de Perl para renombrar archivos y directorios. Proporciona una forma más potente y flexible de cambiar el nombre de los directorios.
Vamos a hablar sobre el comando de cambio de rename
basado en Perl. Hay otro comando más antiguo llamado rename
que es parte de las utilidades principales de Linux. Probablemente necesitará instalar el comando de cambio de rename
de Perl que queremos usar.
Para evitar conflictos de nombres con el comando de cambio de rename
existente, el comando de cambio de rename
de Perl se llama prename
en Fedora y perl-rename
en Manjaro. En Ubuntu, los comandos de cambio de rename
y prename
son enlaces simbólicos que se resuelven en un file-rename
.
Entonces, en Manjaro, el comando que deberá usar es perl-rename
, y en Fedora es prename
. En Ubuntu, puede usar rename
o prename
.
Para instalar el cambio de nombre de Perl, en Ubuntu debe escribir:
sudo apt install renombrar
En Fedora, el comando es:
sudo dnf instalar nombre previo
En Manjaro, el paquete se llama perl-rename
.
sudo pacman -Sy perl-renombrar

Asegúrese de usar el comando apropiado para su distribución si desea trabajar con los ejemplos.
Primeros pasos con renombrar
El comando de cambio de rename
toma expresiones regulares de Perl y las aplica a un archivo o directorio, oa un grupo de archivos o directorios.
En nuestro directorio, tenemos una colección de otros directorios.
ls
Sus nombres son una mezcla de minúsculas, mayúsculas y mayúsculas y minúsculas. Podemos convertirlos todos a minúsculas con una expresión adecuada.
cambiar el nombre de 'y/AZ/az/' *
ls
Todos los directorios ahora están en minúsculas, ya sea que antes estuvieran completamente en mayúsculas o que contuvieran alguna letra mayúscula.
Toda la magia está contenida en la expresión. La expresión está entre comillas simples “ '
“. Esto es lo que significa todo el comando.
- y : Esto significa buscar cualquier carácter en el primer rango de caracteres y sustituirlo por el carácter correspondiente del segundo rango de caracteres.
- /AZ/az/ : El primer rango son todas las letras de la "A" a la "Z", y el segundo rango son todos los caracteres de la "a" a la "z".
- * : El comodín asterisco significa aplicar esto a todos los directorios.
En otras palabras, el comando se lee como "para todos los directorios, cambie las letras mayúsculas por la letra minúscula equivalente".
Obviamente, puede cambiar el nombre de un solo directorio con rename
, aunque huele a exageración. Serás más rápido usando mv
.
renombrar 's/gamma/epsilon-2/' *
ls
La “s” en esta expresión significa sustituto. Comprueba cada directorio para ver si su nombre es "gamma". Si es así, lo reemplaza con "epsilon-2". Sin embargo, tenga en cuenta que esto también habría coincidido con un directorio llamado "gamma-zeta", por ejemplo, renombrándolo a "epsilon-2-zeta".
Podemos evitar esto agregando los metacaracteres de inicio de cadena “ ^
” y final de cadena “ $
” a la primera cláusula de la expresión.
ls
renombrar 's/^gamma$/epsilon-2/' *
ls
Esto deja intacto el directorio "epsilon-2".
Uso de renombrar con otros comandos
Podemos usar otros comandos para ubicar los directorios en los que queremos que funcione el cambio de rename
. Si tenemos un conjunto de directorios anidados y queremos cambiar el nombre de cualquiera que termine en "-old" para que termine en "-archive", podemos lograrlo usando find
y xargs
.
Necesitamos usar xargs
porque el cambio de rename
no acepta entradas canalizadas. El comando xargs
soluciona ese problema al aceptar la entrada canalizada y agregarla a la línea de comando de otro comando como parámetro de línea de comando.
Nuestro comando se ve así:
encontrar . -profundidad -tipo d -nombre "*-antiguo" | xargs -r renombrar "s/antiguo$/archivo/"
- . : Le decimos a find para empezar a buscar en el directorio actual. Esto podría ser cualquier camino, por supuesto.
- -profundidad : Utilice una búsqueda en profundidad primero. Esto significa que el contenido de los subdirectorios anidados más profundos se procesa antes que los superiores.
- -type d : busca directorios, no archivos.
- -name “*-old” : La pista de búsqueda. Estamos buscando directorios con nombres que terminen en "-old".
- | : Estamos canalizando la salida de find al comando
xargs
. - xargs -r : El
-r
(no se ejecuta si está vacío) significa que no se ejecuta el comando si no hay directorios coincidentes. - rename “s/old$/archive/” : El comando de cambio de
rename
que se ejecutará.
Nuestro árbol de directorios se ve así antes del comando.
Ejecutamos nuestro comando:
Y podemos ver que se ha cambiado el nombre de todos los directorios coincidentes, incluidos los anidados.
Caballos de carreras
Cambiar el nombre de un directorio no necesita nada más que mv
. Si prefiere las aplicaciones GUI, puede usar su explorador de archivos. Si tiene muchos directorios para cambiar el nombre, y especialmente si están dispersos en un árbol de directorios, necesitará la flexibilidad de rename
el nombre.
RELACIONADO: Cómo administrar archivos desde la terminal de Linux: 11 comandos que necesita saber