03 Gestión de Archivos en Linux

Published Apr 4, 2023

LinuxArchivos

🧠 Introducción

En esta lección aprenderás a crear, modificar, mover, eliminar y analizar archivos y carpetas en Linux usando la terminal. Estos comandos son esenciales tanto para tareas cotidianas como para administración de sistemas y ciberseguridad.

Aprenderlos te dará el control completo sobre tu entorno Linux. ¡Manos a la terminal! 💻

1. Crear y Modificar Archivos

📄 cat: Crear archivos desde la terminal

  • Crear un archivo con contenido:
cat > miprimerarchivo.txt

Escribe el contenido y presiona Ctrl + D para guardar y salir.

  • Agregar contenido a un archivo existente:
cat >> miprimerarchivo.txt

⚠️ Si usas > en vez de >>, sobrescribirás el contenido anterior.


📄 touch: Crear archivos vacíos o modificar fechas

  • Crear un archivo vacío:
  touch demo.txt
  • Cambiar fecha de acceso:
touch -a demo.txt
  • Cambiar fecha de modificación:
touch -m demo.txt
  • Asignar una fecha específica:
touch -d "2023-12-01" demo.txt
  • Copiar fecha desde otro archivo:
touch -r archivo_ref.txt demo.txt

2. Crear y Gestionar Directorios

📁 mkdir: Crear carpetas

  • Crear una carpeta:
mkdir mi_carpeta
  • Crear varias carpetas anidadas:
mkdir -p ruta/nueva/carpeta

🌲 Ver la estructura:

tree ruta/

Nota: Si no tienes instalado tree, usa:

sudo apt install tree

3. Copiar, Mover, Renombrar y Eliminar

📂 cp: Copiar archivos o carpetas

  • Copiar archivo:
cp archivo.txt copia.txt
  • Copiar carpeta entera:
cp -r carpeta_origen carpeta_destino

✏️ mv: Mover o renombrar archivos

  • Renombrar:
mv archivo.txt nuevo_nombre.txt
  • Mover a otra carpeta:
mv archivo.txt /ruta/nueva/

rm: Eliminar archivos o carpetas

  • Eliminar archivo:
rm archivo.txt
  • Eliminar carpeta con todo su contenido:
rm -r carpeta/

⚠️ Precaución: rm no tiene papelera. Todo se elimina permanentemente.

🛡️ Sugerencia: Habilita confirmación al borrar

alias rm='rm -i'

4. Leer Archivos de Forma Eficiente

📖 head: Ver primeras líneas

  • Primeras 10 líneas:
head archivo.txt
  • Primeras 20 líneas:
head -n 20 archivo.txt
  • Primeros 50 bytes:
head -c 50 archivo.txt

📖 tail: Ver últimas líneas

  • Últimas 10 líneas:
tail archivo.txt
  • Ver en tiempo real (logs):
tail -f archivo.log

🔢 nl: Numerar líneas del archivo

  • Todas las líneas:
nl archivo.txt
  • Solo líneas no vacías:
nl -b t archivo.txt

📜 Lectura interactiva con less y more

less archivo.log
more archivo.txt

Usa las flechas o q para salir.

5. Buscar y Filtrar Contenido

🔍 grep: Buscar texto en archivos

  • Buscar palabra:
grep "error" archivo.txt
  • Ignorar mayúsculas:
grep -i "error" archivo.txt
  • Buscar en carpetas recursivamente:
grep -r "clave" carpeta/
  • Usar expresiones regulares:
grep -E "^ERROR" archivo.log

🔗 Combinar comandos con grep y |

  • Ver líneas con rutas en configuración de Apache:
nl apache2.conf | grep /var/www

6. Ejemplo Completo: Buscar Configuración en Archivos

🎯 Objetivo: encontrar y mostrar una sección específica

  1. Encuentra la línea con el patrón /var/www:
nl apache2.conf | grep /var/www
  1. Empieza a leer desde esa línea (ej. línea 170):
tail -n +170 apache2.conf
  1. Extrae 10 líneas desde ahí:
tail -n +170 apache2.conf | head -n 10

Esto es muy útil cuando revisas configuraciones largas.

🔧 Práctica Recomendada

  1. Crea archivos y directorios con cat, touch y mkdir.
  2. Mueve y renombra archivos con mv.
  3. Usa head, tail, nl y less para leer archivos.
  4. Filtra contenido con grep y combina comandos con |.
  5. Elimina archivos de prueba con rm.

💡 Prueba todo en una carpeta de pruebas para evitar errores.

📘 Próximos Pasos

  • Aprende a usar stat, file y cut para ver más detalles de archivos.
  • Experimenta con redirecciones (>, >>, 2>, etc.).
  • Crea pequeños scripts que automaticen tareas como mover o filtrar archivos.
  • Explora el comando awk para procesamiento más avanzado de texto.
  • Consulta la ayuda con man <comando> cuando tengas dudas.

🧠 Conclusión

Ahora sabes cómo crear, modificar, mover, eliminar y leer archivos en Linux desde la terminal.

Estos comandos son parte de tu kit de herramientas básico para moverte con seguridad y eficiencia en cualquier sistema Linux.

Con práctica constante, se volverán tan naturales como respirar. ¡Sigue explorando y dominando la línea de comandos! 🚀🐧