To move files in Linux you need to use the mv command. Here are some examples:
# move file1 to file2 (what command actually does is renaming the file) $ mv file1 file2
# move file1 from dir1 to dir2 $ mv folder1/file1 folder2/
# move all files from folder1 to folder2 $ mv folder1/* folder2/
Cuando se usa para mover un archivo dentro del mismo directorio o a un directorio diferente, mv efectivamente cambia el nombre del archivo si las rutas de origen y destino están dentro del directorio mismo sistema de archivos.
Now when we touched the basics of the ‘mv’ command in Linux, lets explore more ways to efficiently move files and directories.
Mastering the “mv” command
Mover varios archivos
El comando mv no se limita a mover un solo archivo a la vez. Puede mover varios archivos simultáneamente utilizando comodines. Por ejemplo, para mover todos los archivos de texto de un directorio a otro, puede emplear el siguiente comando:
$ mv *.txt destination_directory/
This command selects all files with the “.txt” extension and moves them to the specified destination directory. The asterisk (*) acts as a wildcard, matching any characters.
Sobrescribir archivos
Al mover archivos, es posible que se encuentre con una situación en la que ya exista un archivo con el mismo nombre en el directorio de destino. De forma predeterminada, el comando mv le pedirá confirmación antes de sobrescribir un archivo. Sin embargo, puedes anular este comportamiento usando la opción -f:
$ mv -f filename destination_directory/
Tenga cuidado al utilizar la opción -f, ya que sobrescribirá los archivos existentes sin ninguna confirmación.
Preservar los metadatos del archivo
El comando mv no solo reubica archivos sino que también le permite conservar sus metadatos, incluidas marcas de tiempo y permisos. Para mantener las marcas de tiempo originales de los archivos durante el movimiento, use la opción -p:
$ mv -p filename destination_directory/
Esto es particularmente útil cuando desea asegurarse de que los archivos movidos conserven sus marcas de tiempo originales de creación y modificación.
Modo detallado
Si prefiere ver información detallada sobre los archivos que se están moviendo, puede usar la opción -v para habilitar el modo detallado:
$ mv -v filename destination_directory/
El modo detallado proporciona retroalimentación en tiempo real, mostrando cada archivo a medida que se mueve, lo que brinda una comprensión más clara del proceso.
Mover directorios
El comando mv también puede manejar sin problemas movimientos de directorio. Para mover un directorio completo y su contenido, simplemente especifique los directorios de origen y destino:
$ mv source_directory/ destination_directory/
Este comando mueve todo el contenido del directorio de origen al directorio de destino especificado.
Formas alternativas de mover archivos en Linux
In addition to the mv command, Linux provides a few other commands and utilities for moving files and directories. Here are a couple of alternatives:
Comando cp (Copiar) con la opción -r
El comando cp se usa tradicionalmente para copiar archivos, pero también se puede usar para moverlos combinándolo con la opción -r (recursiva). Esta opción es necesaria cuando se trata de directorios y sus contenidos.
$ cp -r source_directory/ destination_directory/
Este comando copia recursivamente el contenido del directorio de origen al directorio de destino y logra efectivamente una operación de movimiento.
Comando rsync
El comando rsync es una poderosa herramienta para sincronizar y copiar archivos. También se puede utilizar para mover archivos entre directorios. La sintaxis básica es:
$ rsync -av --remove-source-files source_directory/ destination_directory/
La opción -a conserva los permisos del archivo y otros atributos.
La opción -v habilita el modo detallado para mostrar los archivos que se están procesando.
The –remove-source-files option removes the files from the source directory after successful transfer.
rsync es particularmente útil para mover grandes cantidades de datos y mantener la sincronización entre el origen y el destino.
buscar y ejecutar comando
El comando buscar, combinado con exec, se puede utilizar para mover archivos según ciertos criterios. Por ejemplo, para mover todos los archivos de texto de un directorio y sus subdirectorios a una nueva ubicación:
$ find source_directory/ -type f -name "*.txt" -exec mv {} destination_directory/
This command finds all files (-type f) with the “.txt” extension and executes the mv command on each of them, moving them to the specified destination.
Resumen
Mastering the mv command in Linux is essential for efficient file and directory management. We’ve covered the fundamental usage of the mv command, from simple file renaming to moving entire directories. Additionally, we explored alternative commands like cp with the -r option, the rsync command, and the dynamic combination of encontrar y exec for more specialized moves. By incorporating these commands into your Linux toolkit, you empower yourself to manage files seamlessly and make the most of the robust capabilities that the Linux command line provides.






