Bienvenidos a este capítulo de este Curso de Linux para Hackers – Mover Archivos desde la Shell. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lo que aprenderás en este artículo:

  1. Cómo usar el comando mv para mover o renombrar archivos y directorios en Linux.
  2. Diferencias entre mover archivos y renombrarlos con mv.
  3. Usos avanzados del comando mv, como sobrescribir archivos y realizar copias de seguridad automáticas.
  4. Opciones del comando mv para mover múltiples archivos o asegurarse de no sobrescribir archivos existentes.
  5. Cómo hacer que el comando mv solicite confirmación antes de sobrescribir archivos.

Comando mv en Linux/Unix con ejemplos

El comando mv de Linux se utiliza para mover un archivo o directorio existente de una ubicación a otra. También se utiliza para cambiar el nombre de un archivo o directorio. Si desea cambiar el nombre de un solo directorio o archivo, será mejor utilizar la opción “mv” .

mv ORIGEN DESTINO

El comando mv requiere dos argumentos como mínimo. El primer argumento es la fuente u origen, la ruta al archivo que va a ser movido. El segundo argumento es el destino, la ruta al lugar donde se moverá el archivo. Generalmente, los archivos que se van a mover se denominan origen, y el lugar donde se van a colocar se denomina destino.

A tener en cuenta

Los permisos pueden afectar comandos de administración de archivos, incluyendo el comando mv. Mover un archivo requiere tener permisos de escritura y ejecución tanto en los directorios de origen como de destino.

Mover un archivo

Al mover un archivo, el número de inodo de ambos archivos seguirá siendo el mismo.  Para mover el archivo file1 al directorio hacker, utilice el nombre del archivo como origen y el nombre del directorio como destino.

Si un archivo se mueve de un directorio a otro sin especificar un nuevo nombre para el archivo, éste conservará su nombre original. El movimiento anterior se puede confirmar mediante el comando ls en el directorio Work:

En el ejemplo anterior, hemos movido el archivo “file” a “hacker” . Pero el número de inodo de ambos archivos sigue siendo el mismo.

El comando mv puede utilizarse para mover varios archivos, siempre y cuando el argumento final proporcionado al comando sea el destino. Por ejemplo, para mover tres archivos al directorio hacker:

Mover un archivo dentro del mismo directorio es una forma eficaz de cambiarlo de nombre. Por ejemplo, en el ejemplo siguiente, el archivo animals.txt recibe un nuevo nombre zoo.txt:

Mover un directorio

Los directorios se pueden mover de la misma forma que los archivos. En este caso, el número de inodo también permanecerá igual.

Opción mv

OpciónFunción
Mv -iPide permiso para sobrescribir.
Mv *Mover varios archivos a un directorio específico.
mv –suffix=Se utiliza para realizar copias de seguridad antes de sobrescribir.
Mv -uMueva únicamente aquellos archivos que no existan.

Archivo de Linux mv -i

Si desea copiar un archivo usando la opción ‘mv’ y si ese archivo ya existe, entonces silenciosamente sobrescribirá el archivo existente. Pero si usa la opción ‘i’ , primero le pedirá su permiso para sobrescribirlo.

Puedes copiar el archivo o rechazarlo simplemente escribiendo ‘y’ o ‘n’ .

Como puede ver, solicita permiso para sobrescribir el archivo ‘carlos.txt’, ya que este archivo ya existe en el directorio de destino. Ahora, puede presionar y para sobrescribir el archivo y n para no sobrescribirlo.

Observa que puesto que el valor de n (no) se dió al emitir un prompt de sobrescritura del archivo, no se hicieron cambios en el archivo. Si se da un valor de y (sí), entonces resultará en un proceso de copiado. La opción -i requiere respuesta y o n para cada copia que podría sobrescribir el contenido de un archivo existente. Esto puede ser tedioso cuando se sobrescribe varios archivos.

Si esta situación ocurriera para 100 archivos, puede resultar muy molesto rápidamente. Si quieres contestar automáticamente n para cada prompt, utiliza la opción -n. En esencia, significa «sin sobreescribir».

Es importante recordar que la fecha de modificación de los directorios representa la última vez que un archivo se agrega o se elimina del directorio.

Archivo Linux mv *

Este comando se utiliza para mover todos los archivos del directorio actual a otro directorio especificado a la vez. O todos los de una extensión.

Movemos todos los archivos con extensión TXT a la carpeta hack

mv *.txt hacker3/hack

Tras ejecutar el comando podemos ver el resultado:

Vemos como mover todos los archivos y directorios a otra carpeta

En el ejemplo anterior, todos los archivos y directorios presentes en el directorio ‘hacker’ se han movido al directorio ‘alvaro’ . Note el mensaje de error. Como la carpeta alvaro ya está contenida en ese mismo directorio obviamente no se puede mover a si misma.

mv –suffix

Esta opción le permite tener una copia de seguridad del archivo de destino antes de sobrescribirlo con el archivo en movimiento. El archivo de destino original se reemplazará por la extensión proporcionada con el comando.

Creamos los archivos

En el ejemplo, hemos movido ‘file1’ a ‘file2’ . Después de pasar el comando ‘mv ?suffix=.txt file1 file2’, ‘file1’ será reemplazado por ‘file2’ . Mientras tanto, el archivo ya existente ‘file2’ será reemplazado por la extensión ‘file2.txt’ .

El archivo de extensión indicará que es un archivo de respaldo.

Archivo de Linux mv -u

Cuando se utiliza mv *, se mueven todos los archivos al directorio de destino. Pero cuando se utiliza la opción ‘u’, los archivos que ya existen en el directorio de destino se omiten automáticamente y se copian todos los demás archivos.

Observa la figura anterior. En ‘hacker2’ hay varios archivos. Y en hacker3 podemos ver que algunos de esos archivos ya existen. Ahora queremos mover todos los restantes archivos de ‘hacker2’ a ‘hacker3’. Con la opción ‘u’, se omitirá  los archivos repetidos mientras que se moverán los otros dos archivos. Ahora ‘hacker3’ tiene los archivos repetidos sin sobrescribir. Esto cobra mcuho sentido cuando estamos haciendo copias de directorios con gran cantidad de archivos y, por sobre todo, con gran peso.

El comando mv tiene más opciones que puedes explorar

 mv --help

 

También  te recomendamos consultar las páginas man para este comando:

 man mv

Resumen y Puntos clave:

Comando mv: Mover archivos y directorios El comando mv en Linux se utiliza para mover archivos o directorios de una ubicación a otra, o para renombrarlos. Al mover un archivo, su número de inodo no cambia, solo su ubicación en el sistema. Sintaxis básica:

mv <origen> <destino> 

Ejemplo:

mv archivo.txt /ruta/destino/ 

Esto mueve archivo.txt al directorio especificado.

Renombrar archivos y directorios con mv
Puedes usar el comando mv para cambiar el nombre de un archivo o directorio en el mismo directorio. Ejemplo:

mv archivo_viejo.txt archivo_nuevo.txt 

Este comando cambia el nombre del archivo archivo_viejo.txt a archivo_nuevo.txt.

Mover múltiples archivos
El comando mv también permite mover varios archivos al mismo tiempo si especificas un directorio de destino. Ejemplo:

mv archivo1.txt archivo2.txt archivo3.txt /ruta/destino/ 

Este comando mueve los tres archivos al directorio de destino.

Confirmar sobrescritura con la opción -i
Por defecto, mv sobrescribirá cualquier archivo existente en el destino sin advertencia. Sin embargo, la opción -i te pedirá confirmación antes de sobrescribir un archivo. Ejemplo:

mv -i archivo.txt /ruta/destino/ 

Si archivo.txt ya existe en el destino, te pedirá que confirmes antes de sobrescribirlo.

Evitar sobrescritura con la opción -n
Si no deseas que mv sobrescriba archivos existentes, puedes usar la opción -n para evitar la sobrescritura. Ejemplo:

mv -n archivo.txt /ruta/destino/

Mover todos los archivos de una extensión específica
Puedes usar el comodín * para mover todos los archivos con una extensión específica. Ejemplo:

mv *.txt /ruta/destino/ 

Este comando mueve todos los archivos .txt al directorio de destino.

Hacer copias de seguridad antes de sobrescribir con --suffix
Con la opción --suffix, mv realiza una copia de seguridad del archivo existente antes de sobrescribirlo, agregando una extensión al archivo de respaldo. Ejemplo:

mv --suffix=.bak archivo.txt /ruta/destino/ 

Si archivo.txt ya existe en el destino, se renombrará como archivo.txt.bak antes de sobrescribirlo.

Mover archivos más recientes con -u
La opción -u asegura que solo se muevan los archivos que no existen en el destino o aquellos que son más nuevos que las versiones existentes. Ejemplo:

mv -u archivo.txt /ruta/destino/ 

Si archivo.txt en el destino es más nuevo o igual que la versión de origen, no se sobrescribirá.

Mover directorios completos
El comando mv también funciona para mover directorios completos, manteniendo intacta la estructura y contenido del directorio. Ejemplo:

mv directorio_origen /ruta/destino/ 

Esto moverá todo el directorio y su contenido a la nueva ubicación.

Opciones avanzadas del comando mv
Algunas otras opciones útiles del comando mv incluyen:

    • -v: Proporciona detalles sobre el proceso de movimiento, útil para verificar qué archivos se han movido.
    • -f: Fuerza la sobrescritura sin solicitar confirmación.
    • -t: Permite especificar el directorio de destino antes de los archivos de origen.

    Ejemplo con verbose:

    mv -v archivo.txt /ruta/destino/

    Esto muestra en la terminal qué archivo se está moviendo.

    Conclusión:

    El comando mv es una herramienta fundamental en Linux para mover o renombrar archivos y directorios. Es versátil y tiene opciones que permiten manejar fácilmente sobrescrituras, copias de seguridad y movimientos masivos de archivos. Además, con opciones como -i y -u, puedes tener más control sobre el proceso, asegurando que no se sobrescriban archivos accidentalmente.

    Pon en práctica lo aprendido

    Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

    Preguntas sobre el comando mv en Linux

    1. ¿Qué hace el comando mv en Linux?
    2. ¿Cómo se utiliza el comando mv para cambiar el nombre de un archivo?
    3. ¿Qué hace la opción -i en el comando mv?
    4. ¿Cómo puedes mover varios archivos a un directorio específico usando mv?
    5. ¿Qué diferencia hay entre mover un archivo y copiarlo en cuanto al número de inodo?
    6. ¿Qué hace la opción -u del comando mv?
    7. ¿Cómo puedes realizar una copia de seguridad del archivo de destino antes de sobrescribirlo al mover un archivo?
    8. ¿Qué sucede si intentas mover un directorio a sí mismo?
    9. ¿Cómo puedes evitar sobrescribir archivos existentes al moverlos sin que se te solicite confirmación?
    10. ¿Cómo puedes mover todos los archivos de un directorio a otro que coincidan con una extensión específica?

    Ejercicios sobre el comando mv

    1. Mueve un archivo llamado documento.txt al directorio /home/usuario/Documentos.
    2. Cambia el nombre de un archivo llamado proyecto.txt a proyecto_final.txt en el mismo directorio.
    3. Usa el comando mv para mover todos los archivos .jpg del directorio actual al directorio /home/usuario/Imágenes.
    4. Utiliza la opción -i para mover el archivo reporte.txt al directorio /home/usuario/Trabajo, solicitando confirmación si el archivo ya existe.
    5. Mueve el directorio proyecto al directorio /home/usuario/Proyectos.
    6. Usa la opción -u para mover archivos de un directorio llamado hacker1 a otro llamado hacker2, sin sobrescribir archivos que ya existan en el directorio de destino.
    7. Mueve todos los archivos del directorio actual que tengan extensión .log al directorio /home/usuario/Logs sin sobrescribir archivos existentes.
    8. Realiza una copia de seguridad del archivo datos.csv antes de sobrescribirlo al moverlo al directorio /home/usuario/Backup.
    9. Mueve todos los archivos del directorio Documentos al directorio Backup, sin sobrescribir archivos ya existentes y mostrando en pantalla el progreso de la operación.
    10. Mueve todos los archivos de texto (.txt) del directorio actual al directorio /home/usuario/Documentos, pero solicita confirmación antes de sobrescribir cualquier archivo existente.

    Respuestas a las preguntas

    1. El comando mv se utiliza para mover archivos o directorios de una ubicación a otra, o para cambiarles el nombre.
    2. Para cambiar el nombre de un archivo, usa:
      • mv nombre_viejo.txt nombre_nuevo.txt
    3. La opción -i pide confirmación antes de sobrescribir un archivo existente en el destino.
    4. Para mover varios archivos a un directorio específico, usa un comodín o lista varios archivos:
      • mv archivo1 archivo2 archivo3 /ruta/destino/
    5. El número de inodo no cambia cuando se mueve un archivo, pero sí cambia cuando se copia.
    6. La opción -u solo mueve archivos que no existan en el destino o si los archivos en origen son más nuevos.
    7. Puedes realizar una copia de seguridad del archivo de destino antes de sobrescribirlo con la opción --suffix:
      • mv --suffix=.bak archivo1 archivo2
    8. Si intentas mover un directorio a sí mismo, obtendrás un error, ya que un directorio no puede contenerse a sí mismo.
    9. Para evitar sobrescribir archivos existentes sin que te solicite confirmación, usa la opción -n:
      • mv -n archivo1 /ruta/destino/
    10. Para mover todos los archivos de una extensión específica a otro directorio, usa:
      • mv *.txt /ruta/destino/

    Respuestas a los ejercicios

    1. Mueve documento.txt a /home/usuario/Documentos:
      • mv documento.txt /home/usuario/Documentos
    2. Cambia el nombre de proyecto.txt a proyecto_final.txt:
      • mv proyecto.txt proyecto_final.txt
    3. Mueve todos los archivos .jpg a /home/usuario/Imágenes:
      • mv *.jpg /home/usuario/Imágenes
    4. Mueve reporte.txt a /home/usuario/Trabajo con confirmación si existe:
      • mv -i reporte.txt /home/usuario/Trabajo
    5. Mueve el directorio proyecto a /home/usuario/Proyectos:
      • mv proyecto /home/usuario/Proyectos
    6. Mueve archivos de hacker1 a hacker2 sin sobrescribir:
      • mv -u hacker1/* hacker2/
    7. Mueve archivos .log a /home/usuario/Logs sin sobrescribir:
      • mv -n *.log /home/usuario/Logs
    8. Realiza una copia de seguridad de datos.csv antes de sobrescribirlo:
      • mv --suffix=.bak datos.csv /home/usuario/Backup
    9. Mueve archivos de Documentos a Backup sin sobrescribir y mostrando el progreso:
      • mv -u -v Documentos/* Backup/
    10. Mueve archivos .txt a /home/usuario/Documentos con confirmación antes de sobrescribir:
      • mv -i *.txt /home/usuario/Documentos

    No te detengas, sigue avanzando

    Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

    ¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

    Sobre los autores

    Álvaro Chirou

    Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

    Laprovittera Carlos

    Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

    Hacker de 0 a 100 desde las bases hasta conseguir empleo

    ¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

    Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

    Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

    Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

    El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

    Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

    SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

    Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

    Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

    Saludos amigos y happy hacking!!!