En informática, una carpeta temporal o directorio temporal es un directorio que se utiliza para guardar archivos temporales . Muchos sistemas operativos y algunos programas eliminan automáticamente el contenido de este directorio al iniciar el sistema o a intervalos regulares, dejando intacto el directorio en sí.
Por razones de seguridad , es mejor que cada usuario tenga su propio directorio temporal, ya que ha habido un historial de vulnerabilidades de seguridad con archivos temporales debido a permisos de archivos incorrectos o condiciones de carrera de los programas .
Un procedimiento estándar para la administración de sistemas consiste en reducir la cantidad de espacio de almacenamiento utilizado (normalmente, en una unidad de disco) eliminando archivos temporales. En sistemas multiusuario, esto puede eliminar archivos activos , lo que interrumpiría las actividades de los usuarios. Para evitarlo, algunos procedimientos de recuperación de espacio eliminan únicamente archivos inactivos o "antiguos", es decir, aquellos que no se han leído ni modificado en varios días.
En Unix, el directorio /tmp suele ser una partición de disco independiente . En sistemas con unidades de disco duro magnéticas , el rendimiento ( IOPS totales del sistema ) aumentará si los movimientos de los cabezales de disco desde la E/S de disco normal se separan del acceso al directorio temporal. Cada vez se utilizan más soluciones basadas en memoria para el directorio o carpeta temporal, como los " discos RAM " configurados en la memoria de acceso aleatorio o el dispositivo de memoria compartida /dev/shm en Linux.
Una unidad de estado sólido basada en Flash es menos adecuada como dispositivo de almacenamiento temporal para lectura y escritura debido a la duración asimétrica de lectura/escritura y al desgaste. (Consulte nivelación del desgaste ).
En MS-DOS y Microsoft Windows , el directorio temporal se establece mediante la variable de entorno TEMP o TMP . [1] Utilizando la API de Windows, se puede encontrar la ruta al directorio temporal utilizando la función GetTempPath2 , [2] o se puede obtener una ruta a un archivo temporal con un nombre único utilizando la función GetTempFileName . [3] Originalmente, el valor predeterminado era C:\Temp , luego %WinDir%\Temp . En la era de Windows XP, el directorio temporal se establecía por usuario como Local Settings\Temp , aunque todavía podía ser reubicado por el usuario. Para Windows Vista, 7, 8 y 10, la ubicación temporal se ha movido nuevamente dentro de la sección AppData del Perfil de usuario, generalmente C:\Users\ User Name \AppData\Local\Temp ( %USERPROFILE%\AppData\Local\Temp ). En todas las versiones de Windows, se puede acceder a la ubicación temporal, por ejemplo, en el Explorador, en los cuadros "Ejecutar..." y en el código interno de una aplicación mediante %TMP% o %TEMP% . Al igual que con otras variables de entorno, %TMP% o %TEMP% son sinónimos de la ruta completa.
En Unix y Linux , los directorios temporales globales son /tmp y /var/tmp . Los navegadores web escriben datos periódicamente en el directorio tmp durante las visitas a páginas y las descargas. Normalmente, /var/tmp es para archivos persistentes (ya que se pueden conservar tras reinicios) y /tmp es para archivos más temporales. Consulte Estándar de jerarquía del sistema de archivos . [4] [5] Además, un usuario puede configurar su variable de entorno TMPDIR para que apunte a un directorio preferido (donde se permite la creación y modificación de archivos ).
En macOS , una aplicación en entorno aislado no puede usar las ubicaciones estándar de Unix, pero puede usar un directorio específico del usuario cuya ruta es proporcionada por la función NSTemporaryDirectory . [6]
En OpenVMS se utilizan SYS $SCRATCH [7] y en AmigaDOS T :.