Línea de Comandos Parte 1

8.3 - Manipulación de Archivos y Directorios

Gestión básica de archivos

Dominar los comandos para manipular archivos y directorios es esencial para trabajar eficientemente en la terminal de Linux.

En esta sección aprenderás:

  • Crear archivos y directorios
  • Copiar, mover y renombrar elementos
  • Eliminar archivos y carpetas
  • Usar comodines para trabajar con múltiples archivos
Crear Mover Copiar Eliminar
Gestión de archivos en terminal

Crear archivos y directorios

Los comandos básicos para crear nuevos elementos en el sistema:

touch - Crear archivos vacíos

usuario@mint:~$ touch nuevo_archivo.txt
# Crea un archivo vacío llamado nuevo_archivo.txt

usuario@mint:~$ touch archivo1.txt archivo2.txt archivo3.txt
# Crea múltiples archivos a la vez

usuario@mint:~$ touch -t 202501011200 archivo_fecha.txt
# Crea un archivo con fecha específica (1 ene 2025, 12:00)

Función principal: Crear archivos vacíos o actualizar la fecha de modificación de archivos existentes.
Opciones útiles:
- -a: Solo cambia el tiempo de acceso
- -m: Solo cambia el tiempo de modificación
- -t: Establece una fecha específica (formato [[CC]YY]MMDDhhmm[.ss])

mkdir - Crear directorios

usuario@mint:~$ mkdir nueva_carpeta
# Crea un directorio llamado nueva_carpeta

usuario@mint:~$ mkdir -p proyecto/{src,doc,test}
# Crea estructura anidada: proyecto/src, proyecto/doc, proyecto/test

usuario@mint:~$ mkdir dir1 dir2 dir3
# Crea múltiples directorios a la vez

Función: Crea nuevos directorios (Make Directory).
Opciones importantes:
- -p: Crea directorios padres si no existen (no da error)
- -m: Establece permisos al crear el directorio (ej: mkdir -m 755 dir_seguro)
- -v: Muestra mensaje por cada directorio creado

Copiar, mover y eliminar

Comandos esenciales para gestionar archivos y directorios existentes:

cp - Copiar archivos y directorios

usuario@mint:~$ cp origen.txt destino.txt
# Copia origen.txt a destino.txt

usuario@mint:~$ cp -r directorio/ nuevo_directorio/
# Copia recursiva (para directorios)

usuario@mint:~$ cp -i *.txt ~/backup/
# Copia todos los .txt a backup/ preguntando antes de sobrescribir

Función: Copia archivos y directorios (Copy).
Opciones clave:
- -r o -R: Copia recursiva (para directorios)
- -i: Pregunta antes de sobrescribir
- -u: Solo copia si el origen es más nuevo
- -v: Muestra lo que está copiando
- -p: Preserva atributos (permisos, dueño, timestamps)

mv - Mover o renombrar

usuario@mint:~$ mv viejo.txt nuevo.txt
# Renombra viejo.txt a nuevo.txt

usuario@mint:~$ mv archivo.txt directorio/
# Mueve archivo.txt al directorio/

usuario@mint:~$ mv -i *.png ~/imagenes/
# Mueve todos los PNG a imágenes/, preguntando antes de sobrescribir

Función: Mueve o renombra archivos y directorios (Move).
Comportamiento:
- Si el destino es un directorio existente, mueve el origen allí
- Si el destino no existe, renombra el origen al destino
Opciones útiles:
- -i: Pregunta antes de sobrescribir
- -n: No sobrescribe archivos existentes
- -v: Muestra lo que está moviendo

rm y rmdir - Eliminar archivos y directorios

usuario@mint:~$ rm archivo.txt
# Elimina archivo.txt (sin confirmación!)

usuario@mint:~$ rm -i *.tmp
# Elimina todos los .tmp preguntando uno por uno

usuario@mint:~$ rm -rf directorio/
# CUIDADO: Elimina directorio/ y todo su contenido recursivamente

usuario@mint:~$ rmdir directorio_vacio/
# Elimina solo directorios vacíos (más seguro)

rm (Remove):
- Elimina archivos y directorios (con opciones)
- -r o -R: Elimina recursivamente directorios y su contenido
- -f: Fuerza eliminación sin preguntar (peligroso!)
- -i: Pregunta antes de eliminar (recomendado)

rmdir (Remove Directory):
- Solo elimina directorios vacíos
- Más seguro que rm -r para evitar eliminaciones accidentales

¡Precaución! rm -rf es extremadamente peligroso. Una vez eliminados los archivos, no hay papelera de reciclaje en la terminal. Nunca ejecutes rm -rf / o rm -rf * sin estar absolutamente seguro.

Uso de comodines (wildcards)

Los comodines permiten trabajar con múltiples archivos a la vez, haciendo más eficiente el trabajo en la terminal.

Asterisco (*) - Cualquier secuencia de caracteres

Coincide con cero o más caracteres

usuario@mint:~$ ls *.txt
# Lista todos los archivos .txt

usuario@mint:~$ rm proyecto_*
# Elimina todos los archivos que empiezan con proyecto_

usuario@mint:~$ cp * /backup/
# Copia todos los archivos al directorio backup/
Signo de interrogación (?) - Un solo carácter

Coincide con exactamente un carácter cualquiera

usuario@mint:~$ ls foto?.jpg
# Lista foto1.jpg, foto2.jpg pero no foto10.jpg

usuario@mint:~$ mv documento?.txt docs/
# Mueve documento1.txt, documento2.txt, etc. (hasta documento9.txt)
Corchetes ([]) - Conjunto de caracteres

Coincide con cualquiera de los caracteres dentro de los corchetes

usuario@mint:~$ ls informe_[123].pdf
# Lista informe_1.pdf, informe_2.pdf, informe_3.pdf

usuario@mint:~$ rm *[ab].tmp
# Elimina archivos .tmp que terminan con a o b

usuario@mint:~$ cp imagen_[0-9].jpg backup/
# Copia imagen_0.jpg hasta imagen_9.jpg
Llaves ({}) - Lista de patrones

Genera combinaciones con los elementos separados por comas

usuario@mint:~$ touch archivo{1,2,3}.txt
# Crea archivo1.txt, archivo2.txt, archivo3.txt

usuario@mint:~$ mkdir -p proyecto/{src,doc,test}
# Crea directorio proyecto con subdirectorios src, doc, test

usuario@mint:~$ cp script.sh{,.bak}
# Copia script.sh a script.sh.bak (crea backup)
Tip: Puedes combinar múltiples comodines para patrones más complejos. Por ejemplo: ls *[0-9]?.{jpg,png} lista archivos que terminan con un número seguido de un carácter y extensión .jpg o .png.

Práctica guiada

Ejercicios para practicar la manipulación de archivos:

  1. Crea tres archivos vacíos llamados reporte1.txt, reporte2.txt y reporte3.txt con un solo comando
  2. Crea una estructura de directorios para un proyecto: proyecto/docs, proyecto/src y proyecto/backup
  3. Copia todos los archivos .txt a la carpeta backup
  4. Renombra reporte1.txt a informe_final.txt
  5. Mueve todos los archivos que comienzan con "rep" al directorio docs
  6. Elimina solo los archivos que terminan con un número del 1 al 5 ([1-5])
  7. Prueba los diferentes comodines con ls para ver cómo funcionan
Consejo: Antes de usar rm con comodines, prueba primero con ls para ver qué archivos coinciden con tu patrón y evitar eliminaciones accidentales.

¡Ahora puedes gestionar archivos como un profesional!

Estos comandos son la base para trabajar eficientemente en la terminal de Linux.

En la siguiente parte aprenderemos a ver y editar el contenido de archivos, buscar texto dentro de ellos y otras operaciones avanzadas con archivos.

touch/mkdir cp/mv rm/rmdir Comodines