Temporary folder

In computing, a temporary folder or temporary directory is a directory used to hold temporary files. Many operating systems and some software automatically delete the contents of this directory at bootup or at regular intervals, leaving the directory itself intact.

For security reasons, it is best for each user to have their own temporary directory, since there has been a history of security vulnerabilities with temporary files due to programs incorrect file permissions or race conditions.

A standard procedure for system administration is to reduce the amount of storage space used (typically, on a disk drive) by removing temporary files. In multi-user systems, this can potentially remove active files, disrupting users' activities. To avoid this, some space-reclaiming procedures remove only files which are inactive or "old" - those which have not been read or modified in several days.

Practical issues
In Unix, the /tmp directory will often be a separate disk partition. In systems with magnetic hard disk drives, performance (overall system IOPS) will increase if disk-head movements from regular disk I/O are separated from the access to the temporary directory. Increasingly, memory-based solutions for the temporary directory or folder are being used, such as "RAM disks" set up in random-access memory or the shared-memory device /dev/shm in Linux.

A Flash-based solid-state drive is less suitable as a temporary-storage device for reading and writing due to the asymmetric read/write duration and due to wear. (See wear leveling.)

Traditional locations
In MS-DOS and Microsoft Windows, the temporary directory is set by the environment variable TEMP or TMP. Using the Window API, one can find the path to the temporary directory using the GetTempPath2 function, or one can obtain a path to a uniquely-named temporary file using the GetTempFileName function. Originally, the default was C:\Temp, then %WinDir%\Temp. In the Windows XP era, the temporary directory was set per-user as Local Settings\Temp, although still user-relocatable. For Windows Vista, 7, 8, and 10 the temp location has moved again to within the AppData section of the User Profile, typically C:\Users\User Name\AppData\Local\Temp (%USERPROFILE%\AppData\Local\Temp). In all versions of Windows, the Temp location can be accessed, for example, in Explorer, "Run..." boxes and in an application's internal code by using %TMP% or %TEMP%. As with other environmental variables, %TMP% or %TEMP% is synonymous with the full path.

In Unix and Linux, the global temporary directories are /tmp and /var/tmp. Web browsers periodically write data to the tmp directory during page views and downloads. Typically, /var/tmp is for persistent files (as it may be preserved over reboots), and /tmp is for more temporary files. See Filesystem Hierarchy Standard. In addition, a user can set their TMPDIR environment variable to point to a preferred directory (where the creation and modification of files is allowed).

In macOS, a sandboxed application cannot use the standard Unix locations, but may use a user-specific directory whose path is provided by the function NSTemporaryDirectory.

In OpenVMS, SYS$SCRATCH and in AmigaDOS T: are used.