¿Es nuevo en el sistema operativo Linux? Si es así, las tareas comunes, como el cambio de nombre de archivos y carpetas, pueden ser diferentes a lo que está acostumbrado. Pero no te preocupes. El concepto de renombrar archivos en Linux es similar a como se hace en otros sistemas operativos.
En este tutorial, aprenderá muchas maneras de cambiar el nombre de archivos individuales y múltiples en Linux, tanto a través de la interfaz gráfica de usuario como ejecutando comandos en una terminal.
¡Comencemos!
Tabla de Contenidos
- Requisitos previos
- Cambiar el nombre de los archivos con el Administrador de archivos
- Cambiar el nombre de un solo archivo
- Renombrar varios archivos usando Nautilus File Manager
- Cambiar el nombre de los archivos mediante una plantilla
- Buscar y reemplazar palabras en los Nombres de archivo
- Renombrar archivos con el comando mv
- Cambiar el nombre de un solo archivo con el Comando mv
- Cambiar el nombre de varios archivos con un Bucle For
- Cambiar el nombre de archivos en Linux con la utilidad de cambio de nombre
- Cambiar el nombre de varios archivos
- Cambio de extensiones de archivo
- Cambiar los nombres de archivo a Mayúsculas y Minúsculas
- Reemplazar y Eliminar espacios en los Nombres de archivo
- Poner en mayúscula la Primera letra de Cada Palabra en un Nombre de archivo
- Conclusión
Requisitos previos
Para seguir este tutorial, asegúrese de tener lo siguiente:
- Este tutorial utiliza Ubuntu 18.04 LTS, pero otras distribuciones de Linux funcionarán.
- Una cuenta con acceso sudo / administrador.
Cambiar el nombre de los archivos con el Administrador de archivos
Si está acostumbrado a administrar archivos a través de la interfaz gráfica de usuario, comencemos este tutorial para cambiar el nombre de los archivos con un administrador de archivos. Los administradores de archivos GUI son impecables, ya que puede ver los archivos a la vista. Uno de esos gestores de archivos disponibles en Linux es el antiguo gestor de archivos de GNOME, Nautilus. Este tutorial muestra cómo cambiar el nombre de los archivos utilizando el administrador de archivos Nautilus.
Los otros administradores de archivos de Linux son Konqueror, Dolphin, Krusader, Thunar, administrador de archivos Nemo y administrador de archivos Sunflower. Estos administradores de archivos realizan la misma tarea, pero el cambio de nombre de archivos o directorios puede ser ligeramente diferente.
Inicie su terminal y, a continuación, ejecute el siguiente comando para instalar Nautilus (install nautilus
) con el administrador de paquetes apt
si aún no lo tiene en su máquina. El comando sudo
eleva el comando con derechos sudo / administrador.
sudo apt install nautilus
Cambiar el nombre de un solo archivo
Cambiar el nombre de un solo archivo en Nautilus solo requiere unos pocos clics, como en el Explorador de archivos de Windows.
Para cambiar el nombre de un solo archivo, abra Nautilus, haga clic con el botón derecho en el archivo que desea cambiar el nombre y elija Cambiar el nombre, como se muestra a continuación.
Este ejemplo se centra en el cambio de nombre de archivos, pero el proceso es el mismo para cambiar el nombre de archivos y directorios.
Ahora escriba el nuevo nombre de archivo para reemplazar el nombre de archivo original, presione Entrar o haga clic en Renombrar, y eso es todo.
Renombrar varios archivos usando Nautilus File Manager
Al igual que Windows, Ubuntu le ofrece más opciones sobre cómo desea cambiar el nombre de varios archivos a la vez.
Para cambiar el nombre de varios archivos, seleccione todos los archivos que desee cambiar, haga clic con el botón derecho en cualquiera de ellos y elija Cambiar nombre. Aparecerá una ventana emergente donde podrá elegir cómo desea cambiar el nombre de los archivos que seleccionó.
A continuación, hay dos opciones para elegir según cómo desee cambiar el nombre de los archivos seleccionados.
- Cambiar el nombre mediante una plantilla: esto le permite cambiar el nombre de los archivos en incrementos.
- Buscar y reemplazar texto: Le permite buscar y reemplazar ciertos textos en nombres de archivos.
Cambiar el nombre de los archivos mediante una plantilla
Para cambiar el nombre de los archivos mediante una plantilla, seleccione la opción Cambiar el nombre mediante una plantilla.
Ahora ingrese el nombre de reemplazo en el campo vacío para cambiar el nombre de los archivos con una plantilla, y haga clic en el botón +Agregar y elija entre las plantillas. Para este tutorial, seleccione el primero (1,2,3,4) y haga clic en Cambiar nombre. Esta opción agrega números incrementales a cada archivo después del nombre de archivo de reemplazo (Text1, Text2, Text).
Observe que los nombres de archivo cambiaron a Texto, seguido de números incrementales.
Buscar y reemplazar palabras en los Nombres de archivo
Para cambiar el nombre de varios archivos con un nombre de archivo específico, seleccione la opción Buscar y reemplazar texto.
Ingrese el texto en el campo de Texto Existente y el texto de reemplazo en el campo Reemplazar con, luego haga clic en Cambiar nombre para reemplazar el texto. Esta opción encuentra y reemplaza ciertos textos en los nombres de archivo.
Ahora, puede ver a continuación que ha reemplazado la palabra «Texto» por «Archivo» en cada nombre de archivo.
Renombrar archivos con el comando mv
Si lo tuyo es ejecutar comandos en lugar de navegar en una interfaz gráfica de usuario, prepárate para aprender a renombrar archivos en una terminal. Cambiar el nombre de los archivos en el terminal Linux es similar a hacerlo en otros entornos de línea de comandos, como PowerShell. Ejecute los comandos para cambiar el nombre del archivo original por el nombre del archivo de destino, y eso es todo.
Hay dos escenarios para cambiar el nombre de un archivo. La primera es cambiar el nombre de un archivo desde el directorio de trabajo, y la segunda es especificando la ruta de acceso completa. Eche un vistazo a la sintaxis de comandos mv
a continuación para cambiar el nombre de un archivo, donde source
es el nombre original y destination
es el nombre de reemplazo.
# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>
Cambiar el nombre de un solo archivo con el Comando mv
Aunque la sintaxis del comando mv aún está fresca en su mente, intentemos cambiar el nombre de un solo archivo.
Para demostrar cómo cambiar el nombre de un solo archivo y directorio:
1. Inicie su terminal y, a continuación, ejecute la serie de comandos a continuación para crear un directorio y dos archivos de texto.
# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt
2. A continuación, ejecute el comando ls
para listar los archivos dentro del directorio de trabajo. A continuación, puede ver ese file1.txt y file2.txt existe en el directorio ~/test.
3. Ejecute cualquiera de los comandos mv
a continuación para renombrar file1.txt
como file10.txt
.
# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt
Cambiar el nombre de un directorio es lo mismo que cambiar el nombre de un archivo, así:
mv ~/test ~/demo
. El símbolo~
denota el directorio personal.
4. Por último, vuelva a ejecutar el comando ls
para listar los archivos en el directorio de trabajo.
A continuación, puede ver ese file1.txt ahora pasa a llamarse file10.txt.
Cambiar el nombre de varios archivos con un Bucle For
Si está demasiado ocupado con otras tareas y desea cambiar el nombre de todos los archivos de una sola vez, deberá usar una instrucción de bucle for como la siguiente.
Copie el siguiente código tal cual, péguelo en su terminal y presione Entrar. El siguiente código escanea cada archivo de texto en el directorio de trabajo y cambia el nombre de los archivos por «Archivo» seguido de un número incremental.
# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done
Pegar el código en su terminal funciona bien, pero como buena práctica, es mejor si crea un archivo de script para ejecutar en su lugar.
A continuación, puede ver en acción cómo el código cambia el nombre de todos los archivos.
Cambiar el nombre de archivos en Linux con la utilidad de cambio de nombre
Si está cambiando el nombre de un solo archivo en su rutina diaria, entonces el comando mv
será suficiente. Pero tal vez usted está tratando de cambiar el nombre de varios archivos con el mismo patrón a la vez? Por ejemplo, cambiar el nombre de los archivos que comienzan con una palabra (archivo) determinada. En ese caso, instale la utilidad renombrar en su lugar.
La utilidad renombrar cambia el nombre de varios archivos, cambia los formatos de nombres de archivo y sobrescribe archivos.
Para instalar la utilidad de cambio de nombre, ejecute cualquiera de los siguientes comandos dependiendo de la distribución de Linux en la que esté trabajando.
# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename
Puede ver a continuación la sintaxis de comandos rename
.
rename <options> <perlexpr> <files>
Cambiar el nombre de varios archivos
Con la sintaxis de comandos rename
en mente, ahora puede cambiar el nombre de los archivos que tienen el mismo patrón. Lo bueno del comando rename
es que no necesita declarar una función de bucle para cambiar el nombre de varios archivos como lo hizo en la sección «Cambiar el nombre de varios archivos con un Bucle For».
Tal vez desee cambiar el nombre de los archivos con ciertas palabras en ellos. Si es así, eche un vistazo a la expresión regular Perl ('s/file/myfile/'
) en el comando de ejemplo a continuación. Las expresiones regulares de Perl definen un patrón de cadena basado en el lenguaje de programación Perl.
Para evitar cambiar el nombre de otros archivos por error, enumere todos los archivos afectados antes de cambiarlos de nombre agregando la opción -n
, como se muestra a continuación.
rename -n 's/file/myfile/' *.txt
Ahora ejecute cualquiera de los comandos rename
a continuación para reemplazar la palabra file
por myfile
en el nombre de cada archivo de texto dentro del directorio de trabajo o en el directorio ~/test/*.txt
.
En la expresión Perl ('s/file/myfile/'
), s
denota sustitución, lo que significa que está cambiando el nombre de los archivos. Observe que la opción -v
se agrega para devolver los archivos a los que el comando cambió el nombre.
# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt
A continuación, puede ver que cada palabra » archivo «en los archivos de texto se cambia el nombre a «archivo mío».»
Si prefiere cambiar el nombre de todos los archivos, elimine la extensión de archivo cuando especifique la ruta de acceso del archivo, por ejemplo,
rename -v 's/file/myfile/' ~/test/*
Cambio de extensiones de archivo
Además de los nombres de archivo, el comando rename
también cambia el nombre de las extensiones de archivo. Tal vez haya creado archivos con la extensión de archivo incorrecta. En ese caso, especificará la extensión de archivo que desea cambiar en una expresión Perl cuando ejecute el comando rename
.
Ejecute el comando rename
a continuación para cambiar la extensión de todos los archivos (*
) de .txt
a .html
en el directorio ~/test
. El símbolo $
de la expresión Perl coincide con el final de una cadena (.txt
) para cada nombre de archivo, por lo que el comando solo cambia las extensiones de archivo .txt
. Y al igual que con el cambio de nombre de varios archivos, agregue la opción -v
para enumerar cada cambio que realice el comando.
rename -v 's/.txt$/.html/' *.txt
Para eliminar todas las extensiones de archivo en su lugar, elimine la cadena de reemplazo en la expresión Perl, de esta manera:
rename -v 's/.txt$//' *.txt
Como se puede ver en la imagen de abajo, el .extensiones txt cambiadas a .html
Cambiar los nombres de archivo a Mayúsculas y Minúsculas
En lugar de extensiones de archivo incorrectas, es posible que esté tratando con nombres de archivo en minúsculas y viceversa. Tal vez esté tratando de encontrar un archivo específicamente en mayúsculas, sin saber que el nombre del archivo está en minúsculas.
Linux distingue entre mayúsculas y minúsculas, así que asegurémonos de que tiene las mayúsculas y minúsculas de cada nombre de archivo correctamente. Mayúsculas es básicamente la distinción de textos entre minúsculas y mayúsculas.
Ejecute cualquiera de los comandos rename
a continuación para cambiar todos los nombres de archivo en minúsculas (a-z
) en el directorio de trabajo (*
) a mayúsculas (A-Z
) y viceversa.
# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *
Puede ver a continuación los dos resultados de cambiar un caso de letra de nombre de archivo.
Reemplazar y Eliminar espacios en los Nombres de archivo
Al igual que la mayúscula de un nombre de archivo, es posible que tenga problemas para encontrar archivos si tienen espacios en sus nombres de archivo. Arreglemos eso reemplazando espacios con un carácter o eliminando los espacios por completo.
Ejecute el comando rename
a continuación para reemplazar los espacios en todos los nombres de archivo con un guion bajo (_
) en el directorio de trabajo. Dado que el guion bajo es un metacarácter, escápelo con una barra invertida (\_
) para declarar el guion bajo literalmente. Los metacaracteres son caracteres especiales con significados especiales en un programa de computadora.
Observe que g
en la expresión Perl le dice al comando que reemplace todas las coincidencias (espacios), y no solo la primera.
rename -v 's/ /\_/g' *
A continuación, puede ver que el comando reemplazó todos los espacios con guiones bajos.
Para eliminar todos los espacios de un nombre de archivo en lugar de rellenarlos con un carácter, ejecute el siguiente comando.
En la expresión Perl de abajo, el asterisco después del espacio en blanco (/ *
) coincide con todas las ocurrencias de espacios en un nombre de archivo y no solo con el primero. El carácter de reemplazo está vacío (//
), por lo que el comando rename
elimina todos los espacios (g
).
rename -v "s/ *//g" *
Ahora puede ver a continuación que todos los espacios se eliminan de cada nombre de archivo.
Poner en mayúscula la Primera letra de Cada Palabra en un Nombre de archivo
Si prefiere mantener los espacios y poner en mayúscula la primera letra de cada palabra en un nombre de archivo, necesitará una expresión Perl más compleja. Eche un vistazo al comando de ejemplo a continuación.
La expresión de Perl a continuación coincide con cualquier carácter individual (\w
) en un límite de palabra (\b
) siempre que el carácter no sea un punto ni un apóstrofo (?<!
). El comando rename
traducirá esa letra a mayúsculas (u$&
).
rename -v 's/(?<!)\b\w*/\u$&/g' *
A continuación, puede ver que cada palabra en los nombres de archivo comienza con una letra mayúscula mientras deja las extensiones de archivo intactas.
Conclusión
A lo largo de este tutorial, ha aprendido muchas formas de cambiar el nombre de los archivos Linux a través de la interfaz gráfica de usuario y el terminal de línea de comandos. Ahora tiene una sólida comprensión de cómo manipular nombres para archivos individuales y múltiples a la vez.
¿Por qué no aprender scripts de shell de Linux y crear un script para automatizar el cambio de nombre de archivos en Linux?