Gestión de archivos y directorios (RSA-03)
En este apartado te muestro cómo copiar, mover, renombrar y eliminar archivos y carpetas.
También aprenderás a duplicar contenidos, trabajar con estructuras completas y realizar acciones masivas de forma eficiente.
Comando: cp
Sintaxis Básica
Copia archivos o carpetas de un lugar a otro.
Ejemplos:
$ cp archivo.txt copia.txt
$ cp imagen.jpg /home/luisgulo/Documentos/
$ cp archivo1.txt archivo2.txt /tmp/
Sintaxis Avanzada
Se usa para copias recursivas, mantener permisos, usar comodines o integrar en scripts de respaldo.
Ejemplos:
$ cp -r /proyecto /home/luisgulo/respaldo/
$ cp -p config.conf config_backup.conf # Conserva permisos y timestamps
$ find . -name "*.log" -exec cp {} /var/log/copias/ \;
Comando: mv
Sintaxis Básica
Mueve o renombra archivos y carpetas.
Ejemplos:
$ mv informe.txt informe_final.txt
$ mv imagen.jpg /home/luisgulo/Imágenes/
$ mv archivo.txt ../Documentos/
Sintaxis Avanzada
Permite reorganizar estructuras completas, renombrar masivamente o integrar en flujos automatizados.
Ejemplos:
$ find . -name "*.tmp" -exec mv {} /tmp/residuos/ \;
$ mv -v carpeta/ destino/ # Muestra cada movimiento realizado
$ for f in *.jpg; do mv "$f" "foto_$f"; done
Comando: rm
Sintaxis Básica
Elimina archivos o carpetas del sistema.
Ejemplos:
$ rm archivo.txt
$ rm imagen1.jpg imagen2.jpg
$ rm -r carpeta_antigua/
Sintaxis Avanzada
Se usa con confirmaciones, filtros, eliminación segura o integrada en scripts de limpieza.
Ejemplos:
$ find . -name "*.bak" -exec rm {} \;
$ rm -i datos.csv # Solicita confirmación antes de eliminar
# rm -rf /var/tmp/* # Elimina todo sin pedir confirmación (¡precaución!)
Comando: mkdir
Sintaxis Básica
Crea nuevos directorios.
Ejemplos:
$ mkdir proyectos
$ mkdir -p trabajo/2025/abril
$ mkdir Documentos/{PDF,JPG,TXT}
Sintaxis Avanzada
Permite generar estructuras completas, condicionar creación en scripts o preparar entornos automáticamente.
Ejemplos:
$ for mes in enero febrero marzo; do mkdir "2025/$mes"; done
$ [ ! -d "/backup" ] && mkdir /backup
$ mkdir -m 700 privada # Crea carpeta con permisos restrictivos
Comando: touch
Sintaxis Básica
Crea archivos vacíos o actualiza la fecha de modificación.
Ejemplos:
$ touch nuevo.txt
$ touch archivo1.txt archivo2.txt
$ touch $(date +%Y-%m-%d)_registro.log
Sintaxis Avanzada
Usado para scripts que generan logs, forzar actualizaciones o preparar archivos de control.
Ejemplos:
$ find /var/log -name "*.log" -exec touch {} \;
$ touch -t 202507150000 archivo.txt # Establece timestamp personalizado
$ [ ! -f "control.lock" ] && touch control.lock