/tmp
is meant as fast (possibly small) storage with a short time to live (TTL). Many systems clean /tmp
very fast - on some systems it is even mounted as RAM-disk. /var/tmp
is normally located on a physical disk, is larger and can hold temporary files for a longer time. Some systems also clean /var/tmp
- but with a longer TTL.
Also note that /var/tmp
might not be avaiable in the early boot-process, as /var
and/or /var/tmp
may be mountpoints. Thus it is a little bit comparable to the difference between /bin
and /usr/bin
. The first is available during early boot - the later after the system has mounted everything. So most boot-scripts will use /tmp
and not /var/tmp
for temporary files.
Another (upcoming) location on Linux for temporary files is /dev/shm
.