1.2 – Linux básico: trabajo con archivos

En la sesión anterior comenzamos a trabajar con rutas, carpetas y navegación por el sistema de archivos en Linux. Aprendimos a movernos entre directorios, listar contenido y crear carpetas.

En esta segunda parte vamos a centrarnos en una tarea fundamental: trabajar con archivos.

En Linux, los archivos son una parte esencial del sistema. En ellos se guarda información, configuraciones, scripts, documentos, registros del sistema y mucho más. Aprender a manejarlos desde la terminal es una habilidad básica que será necesaria en prácticamente cualquier tarea de administración o uso técnico del sistema.

A lo largo de esta práctica aprenderemos a:

  • crear archivos,
  • visualizar su contenido,
  • editarlos desde terminal,
  • copiarlos,
  • moverlos o renombrarlos,
  • y eliminarlos correctamente.

También veremos buenas prácticas, errores comunes y una serie de ejercicios para afianzar los conceptos.


1. ¿Qué es un archivo en Linux?

Un archivo es una unidad de información almacenada en el sistema.

Puede tratarse de:

  • un documento de texto,
  • una imagen,
  • un script,
  • un archivo de configuración,
  • un registro del sistema,
  • o cualquier otro tipo de contenido.

En Linux, muchos archivos importantes son simplemente archivos de texto plano, lo que permite leerlos o editarlos desde terminal.

Por ejemplo:

  • un archivo de configuración puede contener opciones del sistema,
  • un script puede contener comandos,
  • un log puede guardar mensajes sobre lo que ha ocurrido en el sistema.

2. Crear archivos con touch

¿Para qué sirve?

El comando touch permite crear archivos vacíos.

Si el archivo no existe, se crea.
Si ya existe, actualiza su fecha de modificación.

Sintaxis

touch nombre_archivo

Ejemplo

touch notas.txt

Esto crea un archivo vacío llamado notas.txt.

Crear varios archivos a la vez

touch archivo1.txt archivo2.txt archivo3.txt

Comprobar que se han creado

ls

o mejor aún:

ls -l

3. Ver el contenido de un archivo con cat

¿Para qué sirve?

El comando cat muestra el contenido de un archivo por pantalla.

Sintaxis

cat nombre_archivo

Ejemplo

cat notas.txt

Si el archivo está vacío, no mostrará nada.

Añadiendo contenido antes

Si escribimos:

echo "Hola, esto es una prueba" > notas.txt

y luego hacemos:

cat notas.txt

veremos:

Hola, esto es una prueba

Mostrar varios archivos a la vez

cat archivo1.txt archivo2.txt

4. Crear contenido con echo y redirecciones

Comando echo

echo permite mostrar texto en terminal o escribirlo en un archivo.

Mostrar texto en pantalla

echo "Hola Linux"

Guardar texto en un archivo con >

echo "Primera línea" > notas.txt

Esto crea el archivo si no existe y escribe el contenido.

Importante: si el archivo ya tenía contenido, lo sustituye por completo.

Añadir texto sin borrar lo anterior con >>

echo "Segunda línea" >> notas.txt

Esto añade contenido al final del archivo.

Ver el resultado

cat notas.txt

Salida posible:

Primera línea
Segunda línea

5. Leer archivos largos con less y more

Cuando un archivo tiene muchas líneas, cat puede no ser la mejor opción porque muestra todo de golpe.

less

Permite visualizar el contenido página a página.

less archivo.txt

Con less puedes:

  • desplazarte con las flechas,
  • avanzar y retroceder,
  • buscar texto,
  • salir pulsando q.

Es muy útil para leer archivos de configuración o logs.

more

También muestra el contenido por partes.

more archivo.txt

Es más simple que less, pero hoy en día suele usarse más less.


6. Ver solo el principio o el final de un archivo

Muestra las primeras líneas de un archivo.

head archivo.txt

Por defecto muestra 10 líneas.

Mostrar un número concreto

head -n 5 archivo.txt

tail

Muestra las últimas líneas.

tail archivo.txt

Mostrar un número concreto

tail -n 5 archivo.txt

Esto será muy útil más adelante para revisar logs del sistema.


7. Editar archivos con nano

¿Qué es nano?

nano es un editor de texto en terminal sencillo y muy adecuado para empezar.

Abrir o crear un archivo

nano notas.txt

Si el archivo existe, lo abre.
Si no existe, lo crea.

Cómo usarlo

Dentro de nano puedes escribir directamente.

Los atajos principales aparecen en la parte inferior de la pantalla.

Atajos importantes

  • Ctrl + O → guardar
  • Ctrl + X → salir
  • Ctrl + K → cortar línea
  • Ctrl + U → pegar línea
  • Ctrl + W → buscar texto

Recomendación para principiantes

Para alumnos que están empezando, nano es ideal porque:

  • es simple,
  • se entiende fácilmente,
  • no requiere aprender comandos especiales complicados,
  • y permite editar archivos de forma rápida.

8. Copiar archivos con cp

¿Para qué sirve?

El comando cp se utiliza para copiar archivos y también directorios.

Copiar un archivo

cp origen destino

Ejemplo

cp notas.txt copia_notas.txt

Esto crea una copia del archivo con otro nombre.

Copiar un archivo a otra carpeta

cp notas.txt documentos/

Copiar varios archivos a una carpeta

cp archivo1.txt archivo2.txt copias/

Copiar carpetas completas

Para copiar directorios hace falta usar la opción -r.

cp -r proyecto proyecto_backup

La r significa recursivo.


9. Mover y renombrar archivos con mv

¿Para qué sirve?

El comando mv sirve para:

  • mover archivos,
  • mover carpetas,
  • renombrar archivos,
  • renombrar carpetas.

Renombrar un archivo

mv notas.txt apuntes.txt

Mover un archivo a otra carpeta

mv apuntes.txt documentos/

Renombrar una carpeta

mv documentos apuntes_linux

Mover una carpeta completa

mv apuntes_linux /home/alumno/trabajos/

10. Borrar archivos con rm

¿Para qué sirve?

El comando rm elimina archivos.

Borrar un archivo

rm notas.txt

Borrar varios archivos

rm archivo1.txt archivo2.txt

Borrar con confirmación

rm -i notas.txt

La opción -i pide confirmación antes de eliminar.

Esto puede ser muy útil para evitar errores.


11. Borrar carpetas con rmdir y rm -r

rmdir

Solo elimina carpetas vacías.

rmdir carpeta_vacia

rm -r

Elimina carpetas y todo su contenido.

rm -r carpeta

Precaución importante

rm -r puede borrar muchos archivos de golpe. Hay que usarlo con muchísimo cuidado.

Antes de ejecutar un borrado conviene comprobar:

pwd
ls

No conviene lanzar comandos de borrado a ciegas como quien pulsa botones en una nave espacial averiada.


12. Diferencia entre copiar, mover, renombrar y borrar

Conviene dejar clara esta diferencia:

  • Copiar (cp): crea una copia, el original sigue existiendo.
  • Mover (mv): cambia el archivo de ubicación.
  • Renombrar (mv): cambia el nombre del archivo o carpeta.
  • Borrar (rm): elimina el archivo.

Ejemplo:

Si tienes:

notas.txt

Copiar

cp notas.txt copia.txt

Resultado:

notas.txt
copia.txt

Renombrar

mv notas.txt apuntes.txt

Resultado:

apuntes.txt

Borrar

rm apuntes.txt

Resultado: el archivo desaparece.


13. Ejemplo guiado paso a paso

Vamos a realizar una práctica completa.

Paso 1. Crear una carpeta de trabajo

mkdir practica_archivos
cd practica_archivos

Paso 2. Crear dos archivos vacíos

touch notas.txt tareas.txt

Paso 3. Comprobar el contenido del directorio

ls -l

Paso 4. Escribir texto en notas.txt

echo "Estoy aprendiendo Linux" > notas.txt

Paso 5. Añadir otra línea

echo "Trabajo con archivos desde terminal" >> notas.txt

Paso 6. Ver el contenido

cat notas.txt

Paso 7. Editar con nano

nano tareas.txt

Dentro del archivo escribe por ejemplo:

- Practicar comandos
- Crear archivos
- Copiar archivos

Guarda y sal.

Paso 8. Copiar notas.txt

cp notas.txt copia_notas.txt

Paso 9. Crear una carpeta nueva

mkdir documentos

Paso 10. Mover un archivo a la carpeta

mv tareas.txt documentos/

Paso 11. Renombrar el archivo copiado

mv copia_notas.txt respaldo_notas.txt

Paso 12. Ver el resultado final

ls -l
ls documentos

14. Práctica guiada

Objetivo

Aprender a crear, visualizar, editar, copiar, mover, renombrar y borrar archivos desde terminal.

Enunciado

Realiza las siguientes acciones:

  1. Crea una carpeta llamada ejercicio_archivos.
  2. Entra en ella.
  3. Crea tres archivos vacíos:
    • dia1.txt
    • dia2.txt
    • dia3.txt
  4. Escribe una línea de texto en dia1.txt.
  5. Añade una segunda línea.
  6. Muestra el contenido de dia1.txt.
  7. Abre dia2.txt con nano y escribe varias líneas.
  8. Crea una carpeta llamada copias.
  9. Copia dia1.txt dentro de copias.
  10. Renombra dia3.txt a resumen.txt.
  11. Mueve dia2.txt a la carpeta copias.
  12. Elimina resumen.txt.
  13. Comprueba el contenido final del directorio principal y de la carpeta copias.

Posible solución de la práctica

mkdir ejercicio_archivos
cd ejercicio_archivos
touch dia1.txt dia2.txt dia3.txt
echo "Primera línea del archivo" > dia1.txt
echo "Segunda línea del archivo" >> dia1.txt
cat dia1.txt
nano dia2.txt
mkdir copias
cp dia1.txt copias/
mv dia3.txt resumen.txt
mv dia2.txt copias/
rm resumen.txt
ls -l
ls -l copias

Errores habituales

1. Pensar que touch escribe contenido

No. touch crea el archivo, pero lo deja vacío.

2. Usar > y borrar sin querer el contenido anterior

Ejemplo:

echo "Nueva línea" > notas.txt

Esto sustituye todo lo anterior.

Si se quiere añadir, hay que usar:

echo "Nueva línea" >> notas.txt

3. Intentar borrar una carpeta con rm sin opciones

rm carpeta

Esto fallará si carpeta es un directorio.

Para carpetas vacías:

rmdir carpeta

Para carpetas con contenido:

rm -r carpeta

4. Confundir mover con copiar

cp copia.
mv mueve o renombra.

5. Borrar demasiado rápido

Conviene revisar siempre el directorio actual antes de borrar.

pwd
ls

Buenas prácticas

Usa nombres claros

Mejor:

notas_linux.txt
configuracion_red.txt

Peor:

archivo1.txt
cosa.txt
finalfinal2.txt

Revisa el contenido antes de borrar

Usa ls, cat o less para asegurarte.

Usa rm -i si tienes dudas

rm -i archivo.txt

Organiza el trabajo en carpetas

No dejes todos los archivos mezclados en el mismo sitio.


Resumen de comandos

ComandoFunción
touch archivo.txtCrear archivo vacío
cat archivo.txtMostrar contenido
echo "texto" > archivo.txtEscribir sustituyendo contenido
echo "texto" >> archivo.txtAñadir contenido al final
less archivo.txtLeer archivo página a página
more archivo.txtLeer archivo por partes
head archivo.txtVer primeras líneas
tail archivo.txtVer últimas líneas
nano archivo.txtEditar archivo
cp origen destinoCopiar archivo o carpeta
mv origen destinoMover o renombrar
rm archivo.txtBorrar archivo
rm -i archivo.txtBorrar con confirmación
rmdir carpetaBorrar carpeta vacía
rm -r carpetaBorrar carpeta con contenido

Ejercicio

Crea la siguiente estructura:

trabajo_linux/
├── notas/
│ ├── teoria.txt
│ └── practica.txt
└── backup/

Después:

  • escribe contenido en teoria.txt,
  • copia teoria.txt a backup,
  • renombra practica.txt a practica_1.txt,
  • muestra el contenido de teoria.txt,
  • y elimina finalmente la carpeta backup con su contenido.

mandos, más natural será trabajar en terminal.


Chuleta rápida

touch archivo.txt              # crear archivo vacío
cat archivo.txt # ver contenido
echo "texto" > archivo.txt # escribir sustituyendo contenido
echo "texto" >> archivo.txt # añadir contenido
nano archivo.txt # editar archivo
less archivo.txt # leer archivo largo
head archivo.txt # ver primeras líneas
tail archivo.txt # ver últimas líneas
cp origen destino # copiar
mv origen destino # mover o renombrar
rm archivo.txt # borrar archivo
rm -i archivo.txt # borrar con confirmación
rmdir carpeta # borrar carpeta vacía
rm -r carpeta # borrar carpeta con contenido