Cómo limpiar archivos temporales en Linux paso a paso

Última actualización: 22/02/2026
Autor: Isaac
  • Linux gestiona automáticamente muchos archivos temporales en rutas como /tmp y /var/tmp, pero conviene conocer sus diferencias.
  • La limpieza de cachés de paquetes (apt, dnf) y del navegador libera fácilmente varios gigas sin riesgo para el sistema.
  • El kernel usa PageCache y cachés de dentries e inodos, que se pueden vaciar con sysctl en situaciones puntuales.
  • Systemd-tmpfiles y sus temporizadores controlan la eliminación periódica de temporales, especialmente en servidores de larga ejecución.

Limpieza de archivos temporales en Linux

Si usas GNU/Linux a diario, tarde o temprano te encontrarás con el mismo problema que en cualquier otro sistema operativo: los archivos temporales y de caché crecen sin parar y pueden llegar a ocupar bastante espacio en disco. Aunque Linux está muy bien pensado para gestionar todo esto de forma automática, hay situaciones en las que conviene saber qué se está guardando, dónde y cómo borrarlo con seguridad.

A lo largo de este artículo vamos a ver con todo detalle cómo limpiar archivos temporales en Linux, cómo gestionar las distintas cachés (del sistema, de los gestores de paquetes, de aplicaciones o del navegador) y qué diferencias hay entre las rutas más importantes como /tmp y /var/tmp. Verás comandos concretos, explicaciones claras y varios consejos para que liberes espacio sin cargarte nada importante.

Carpetas de archivos temporales más importantes en Linux

En cualquier distribución moderna vas a encontrar una serie de directorios pensados para guardar datos de corta duración. Los dos grandes protagonistas son las carpetas /tmp y /var/tmp, donde se almacena la mayoría de archivos temporales que genera el propio sistema y muchas aplicaciones.

De forma general, la ruta /tmp se usa para archivos muy efímeros, que normalmente solo tienen sentido mientras la máquina está encendida, mientras que /var/tmp está pensada para temporales que deben sobrevivir entre reinicios. Más adelante veremos en detalle qué implica esto y por qué es tan importante entender la diferencia.

Además de estas dos ubicaciones principales, Linux utiliza otros directorios menos conocidos pero también relevantes a la hora de liberar espacio, sobre todo en sistemas que llevan mucho tiempo encendidos o servidores con bastante carga.

Si quieres curiosear qué rutas maneja el sistema para ficheros temporales y similares, puedes echar un ojo al contenido de /usr/lib/tmpfiles.d/. Ahí encontrarás archivos de configuración de systemd-tmpfiles que describen qué directorios se limpian, con qué frecuencia y bajo qué condiciones.

Entre las rutas adicionales que suelen aparecer destacan, por ejemplo:

  • /var/run: contiene información de ejecución del sistema y de servicios (PID files, sockets, etc.).
  • /var/spool: almacena colas de tareas pendientes, como trabajos de impresión o correos sin entregar.
  • /var/log/journal: guarda los registros binarios de systemd-journald, que pueden ocupar bastante si no se rotan o limitan bien.
  • /run/shm: memoria compartida basada en tmpfs, utilizada para IPC y otros propósitos internos.
  • /var/cache/man: caché de las páginas del manual, regenerable sin problema si se borra.

Por otro lado, no hay que olvidar que muchísimos programas modernos guardan sus temporales, historiales y cachés dentro de tu carpeta personal, casi siempre bajo ~/.cache o subdirectorios específicos. Navegadores, editores, suites ofimáticas, clientes de correo… todo eso suele terminar dentro de /home.

Rutas de temporales en Linux

Diferencias entre /tmp y /var/tmp

Aunque sobre el papel ambas carpetas sirven para lo mismo, el propósito real de /tmp y /var/tmp no es exactamente idéntico. Entender cómo se comporta cada una te ayudará a no borrar nada crítico y, de paso, a configurar mejor tu sistema.

Características de los archivos temporales en /tmp

La carpeta /tmp se utiliza para archivos temporales de vida muy corta. La idea es que todo lo que acabe ahí sea prescindible a muy corto plazo y que no importe que desaparezca en el próximo reinicio.

En la mayoría de distribuciones actuales, el contenido de /tmp se limpia automáticamente al arrancar, al reiniciar o siguiendo políticas internas de systemd (o del mecanismo que use la distro). Eso significa que esos datos no están pensados para durar demasiado y muchas veces se montan directamente en memoria RAM mediante tmpfs.

Hay usuarios, sobre todo en equipos de escritorio potentes, que deciden montar /tmp en RAM de forma explícita para acelerar aún más los accesos y reducir escrituras en disco. Esta configuración tiene sentido en máquinas con bastante memoria, ya que los archivos temporales realmente se descartan al reiniciar.

Otra característica clave es que /tmp está disponible desde las fases iniciales del arranque. Muchos scripts de inicio dependen de ella para guardar archivos intermedios, sockets temporales u otros datos que necesitan antes de que se monten el resto de sistemas de archivos.

Características de los archivos temporales en /var/tmp

La ruta /var/tmp, en cambio, está pensada para ficheros temporales cuyo periodo de vida es bastante más largo. No se trata de datos permanentes, pero sí de archivos que tiene sentido conservar durante días o incluso semanas.

  Buscar con Bing el texto seleccionado en el Bloc de notas de Windows: guía completa

En muchas distribuciones, el contenido de /var/tmp no se borra en cada arranque. El tiempo que se mantiene depende de las políticas de la distro y de la configuración de systemd-tmpfiles. Por ejemplo, hay sistemas que nunca lo vacían automáticamente y otros que lo hacen si los archivos llevan más de cierto número de días sin tocarse.

Hay casos concretos como algunas versiones de RHEL o derivados en los que los archivos de /var/tmp se eliminan cuando superan unos 30 días de inactividad. En otras, como algunas instalaciones de Debian por defecto, es posible que no haya limpieza automática, y los archivos sigan ahí hasta que tú mismo los borres o cambies la configuración.

Se recomienda que /var/tmp esté en un disco “normal” (SSD o HDD) y no montado en RAM, precisamente porque lo que se guarda ahí puede ser útil entre reinicios. Aplicaciones que quieren guardar estados de recuperación, datos para restaurar sesiones tras un cuelgue o ficheros intermedios pesados suelen usar esta ruta.

Ten en cuenta también que /var/tmp puede formar parte de un punto de montaje aparte. Eso implica que, durante el arranque, no está disponible hasta que se monta el sistema de archivos correspondiente, por lo que algunos servicios no podrán usarla en las fases más tempranas.

Conclusión práctica: cuándo se limpia cada una

Si lo simplificamos al máximo, la idea es que /tmp contiene temporales que se pueden borrar en cada reinicio sin miedo, mientras que /var/tmp conserva datos temporales “de larga duración” que no deberían desaparecer constantemente, aunque sigan sin ser archivos esenciales a largo plazo.

Esto explica por qué muchas herramientas usan /tmp para datos efímeros y /var/tmp para información que necesitan mantener, por ejemplo, para poder restaurar el estado de un programa después de un error o un apagón inesperado.

¿Tenemos que borrar manualmente los archivos temporales?

Una de las dudas más frecuentes es si hace falta preocuparse de ir limpiando a mano los temporales del sistema. La respuesta corta es que, en un equipo de escritorio corriente y moliente, normalmente no hace falta tocar nada fuera de tu /home.

Las distribuciones modernas suelen venir ya configuradas para eliminar automáticamente los temporales que sobran, usando systemd-tmpfiles u otras herramientas equivalentes, por lo que el usuario medio puede olvidarse del tema. El sistema se encarga solo de borrar lo que no hace falta.

La cosa cambia si administras un servidor o un equipo que pasa meses sin reiniciarse y con bastante carga. En esos casos sí puede ocurrir que /tmp, /var/tmp u otros directorios similares empiecen a crecer hasta llenar el disco, sobre todo si alguna aplicación se porta mal y genera miles de temporales.

Para evitar sorpresas, la mejor práctica en servidores es programar limpiezas periódicas y automáticas, ajustando bien las políticas de tmpfiles o empleando servicios y tareas programadas que se encarguen de borrar archivos antiguos en rutas concretas y detectar y eliminar archivos duplicados.

Si en algún momento necesitas ser más agresivo, siempre puedes forzar el borrado de temporales de forma segura, pero conviene hacerlo con cabeza, sabiendo qué directorios tocas y qué tipo de archivos se guardan ahí.

Limpieza de caché y temporales: por qué mejora el rendimiento

Además de los archivos temporales clásicos, Linux y las aplicaciones que corren sobre él hacen un uso intensivo de la memoria caché para acelerar el acceso a datos. Esa caché a veces se acumula más de la cuenta, y en equipos con poco espacio en disco o poca RAM puede influir en el rendimiento.

Cuando hablamos de “caché” en este contexto nos referimos a copias de datos que se usan con frecuencia y que se almacenan en un lugar más rápido (RAM, SSD o un directorio específico) para no tener que recalcular o descargarlo todo cada vez. Los datos originales siguen siendo los del disco principal, pero el sistema mantiene duplicados para ir más ligero.

Precisamente por eso, borrar la caché cada cierto tiempo puede ser buena idea si se está llenando tu almacenamiento con datos que ya no necesitas. No suele ser algo que tengas que hacer todos los días, pero sí conviene revisarlo cuando notas el sistema muy justo de espacio.

Eso sí, hay que tener presente que no toda caché es mala. De hecho, la mayor parte de las veces te ayuda a ganar velocidad de lectura, a reducir escrituras y a que el sistema vaya más fino. El truco está en limpiar cuando toca, no en vaciarla a lo loco cada cinco minutos.

  Consejos para eliminar una tarjeta de crédito de tu ID de Apple

Limpiar la caché de paquetes con apt y dnf

Una de las fuentes de basura más habituales en sistemas Linux con cierta antigüedad es la caché del gestor de paquetes. Cada vez que instalas o actualizas algo, tu gestor descarga paquetes y metadatos que se van guardando para poder reutilizarlos después.

Con el tiempo, sobre todo si actualizas a menudo o tienes muchos repositorios, esa carpeta puede llegar a ocupar varios gigas. La buena noticia es que todo lo que hay ahí es regenerable, así que puedes borrarlo sin miedo a romper el sistema (lo peor que pasará es que se vuelvan a descargar los paquetes cuando los necesites).

Eliminar la caché en distribuciones basadas en apt

En sistemas derivados de Debian, Ubuntu y familia, el gestor de paquetes habitual es apt. Para vaciar por completo la caché de paquetes puedes usar el comando:

sudo apt clean

Este comando elimina todos los archivos .deb descargados y los metadatos que se hayan ido quedando en el directorio de caché, liberando fácilmente varios cientos de megas o más si llevas mucho tiempo sin limpiar.

Eliminar la caché en distribuciones basadas en dnf

En distribuciones como Fedora o RHEL modernas, el equivalente de apt es dnf. Para vaciar la caché de paquetes puedes recurrir a:

sudo dnf clean all

Con este comando, dnf borra los paquetes descargados y los metadatos y, además, fuerza que se actualice la información de los repositorios la próxima vez que instales o actualices algo. En la práctica hace lo mismo que apt clean, pero con su propia lógica interna.

Ten en cuenta que dnf ya gestiona de forma bastante automática su propia caché y la refresca cuando se queda obsoleta, así que no suele ser tan necesario ejecutar este comando con tanta frecuencia como en sistemas basados en apt.

Otros tipos de caché en Linux: PageCache, dentries e inodos

Más allá de los paquetes descargados, el propio kernel de Linux mantiene en memoria varias cachés internas para acelerar el acceso al sistema de archivos. Las más conocidas son la PageCache y las cachés de dentries e inodos.

La PageCache almacena en RAM copias de archivos recientemente leídos o escritos, de forma que, si vuelves a acceder a ellos, no tenga que ir al disco otra vez. Esto reduce muchísimo las operaciones de entrada/salida y hace que el sistema vaya mucho más suave.

Por su parte, las cachés de dentries e inodos guardan información de directorios y metadatos de archivos (permisos, tamaños, ubicaciones, etc.). Trabajan junto a la PageCache para que las estadísticas y listados de directorios sean casi instantáneos sin tener que escanear el disco cada vez.

En la mayoría de casos no deberías tocar estas cachés manualmente, porque el propio kernel las gestiona de forma bastante inteligente. Pero si quieres liberar memoria en un momento puntual o hacer pruebas de rendimiento, existe un mecanismo controlado para forzar su limpieza.

Para borrar exclusivamente la PageCache puedes ejecutar:

sudo sysctl vm.drop_caches=1

Si lo que quieres es limpiar solo las cachés de dentries e inodos, el valor a utilizar es:

sudo sysctl vm.drop_caches=2

Y si necesitas borrar PageCache, dentries e inodos de una tacada, el comando adecuado es:

sudo sysctl vm.drop_caches=3

Estos comandos no destruyen datos del disco, solo liberan memoria usada para caché. Aun así, conviene no abusar porque, después de vaciarla, el sistema tendrá que volver a llenarla y, durante un rato, puede ir algo más lento.

Limpiar la caché del navegador y de aplicaciones de usuario

Otro gran foco de almacenamiento son las cachés de aplicaciones de usuario, especialmente los navegadores web, que acumulan imágenes, scripts, cookies, bases de datos locales y un largo etcétera.

Cualquier navegador moderno te permite borrar la caché desde su menú de configuración, normalmente desde las opciones de “Privacidad” o “Historial”, donde puedes quitar también cookies y otros datos si te interesa.

Si eres más de terminal y usas Firefox, por ejemplo, puedes ir a lo rápido y eliminar la caché del perfil actual desde la línea de comandos con algo como:

rm -rf ~/.cache/mozilla

Ten en cuenta que este tipo de comandos borran sin preguntar, así que revisa bien la ruta antes de pulsar Enter para evitar eliminar cosas que no tocan.

  Cómo convertir cómics a PDF en color usando Calibre

Cómo borrar archivos temporales en /tmp con systemd

Como hemos comentado antes, Linux suele tener políticas internas para gestionar el contenido de /tmp sin que tengas que intervenir. En sistemas con systemd, esta tarea recae en un servicio específico.

En muchas distribuciones, gracias a systemd-tmpfiles, los archivos de /tmp se borran automáticamente al cabo de un cierto tiempo desde el arranque o desde la última vez que se activó el servicio de limpieza. De esta forma, se evita que el directorio crezca indefinidamente.

Uno de los temporizadores clave que controla este comportamiento es systemd-tmpfiles-clean.timer. Si quieres ajustar los tiempos, puedes editar su configuración con un editor de texto, por ejemplo:

sudo nano /usr/lib/systemd/system/systemd-tmpfiles-clean.timer

Dentro de ese archivo verás dos parámetros muy importantes:

OnBootSec=15min
OnUnitActiveSec=1d

La opción OnBootSec indica cuántos minutos después de arrancar se lanza por primera vez la limpieza (en este caso, 15 minutos). Por su parte, OnUnitActiveSec marca el intervalo entre ejecuciones posteriores del servicio (en el ejemplo, cada día).

Si modificas estos valores para hacer la limpieza más o menos frecuente, tendrás que recargar la configuración de systemd y activar de nuevo el temporizador con algo así:

sudo systemctl daemon-reload
sudo systemctl enable --now systemd-tmpfiles-clean.timer

En general, la recomendación es no borrar “a mano” todo el contenido de /tmp sin saber qué hay dentro. Si sospechas que el directorio se ha llenado, lo más seguro suele ser reiniciar el equipo y dejar que el propio sistema borre lo que corresponda según las políticas definidas.

Es verdad que puedes eliminar archivos y subcarpetas de /tmp manualmente y, la mayoría de las veces, no pasará nada, pero si tocas algo que un servicio está usando en ese momento podrías provocar errores extraños, así que mejor actuar con prudencia.

Memoria caché del sistema y otros ejemplos por plataforma

Para que te hagas una idea del contexto general, muchas guías recomiendan borrar la caché de forma periódica en cualquier sistema operativo, no solo en Linux, precisamente para desprenderse de datos que ya no se utilizan y recuperar espacio de almacenamiento.

En Windows, por ejemplo, puedes ir a la configuración de almacenamiento y usar la opción de “Eliminar archivos temporales”, mientras que en macOS es muy habitual acceder a rutas como ~/Biblioteca/Caches para quitar a mano directorios de aplicaciones que ya no usas.

En Linux también hay herramientas específicas para ciertos componentes, como el demonio nscd (Name Service Cache Daemon), que se encarga de cachear información de nombres de usuario, hosts y otros servicios. Si quieres reiniciar su caché, puedes hacerlo con un comando del estilo:

sudo /etc/init.d/nscd restart

Este tipo de operaciones suelen ser útiles sobre todo en entornos de red o servidores, donde la resolución de nombres y usuarios se cachea agresivamente para mejorar el rendimiento.

En cuanto a la limpieza de cookies y datos web, navegadores como Chrome, Firefox o incluso el antiguo Internet Explorer han ofrecido siempre opciones para borrar archivos temporales de Internet, imágenes en caché y cookies, protegiendo así tu privacidad y liberando espacio en disco.

En cualquier caso, la idea general es la misma en todas las plataformas: los archivos temporales y de caché son útiles mientras ahorran tiempo, pero conviene hacerles una limpieza de vez en cuando para que no se conviertan en un lastre.

Linux destaca especialmente en este terreno porque gestiona muy bien la memoria y la caché del sistema, lo que se traduce en rapidez y estabilidad. Aun así, pueden darse escenarios excepcionales en los que una aplicación con errores empiece a escribir sin parar temporales y acabe llenando el disco, dejando el sistema prácticamente congelado.

Cuando algo así ocurre, saber dónde se están generando esos ficheros y cómo eliminarlos de forma segura es clave para recuperar el control y poder seguir diagnosticando el problema.

En definitiva, limpiar archivos temporales y cachés en Linux es una tarea que, bien entendida, te permite mantener tu sistema ligero, estable y con espacio de sobra, confiando en los mecanismos automáticos cuando toca y usando los comandos adecuados cuando necesitas intervenir de forma manual.

cómo detectar archivos duplicados en linux
Artículo relacionado:
Cómo detectar y eliminar archivos duplicados en Linux