Die Filesystem Hierarchy Standard Version 3.0 sagt:
/tmp :Temporäre Dateien
Der /tmp
Verzeichnis muss für Programme zur Verfügung gestellt werden, die temporäre Dateien benötigen.
Programme dürfen nicht davon ausgehen, dass Dateien oder Verzeichnisse in /tmp
werden zwischen Aufrufen des Programms beibehalten.
Begründung
Der IEEE-Standard POSIX.1-2008 listet ähnliche Anforderungen wie im obigen Abschnitt auf. Obwohl Daten in /tmp
gespeichert sind standortspezifisch gelöscht werden können, wird empfohlen, Dateien und Verzeichnisse in /tmp
zu speichern gelöscht werden, wenn das System gebootet wird.
FHS fügte diese Empfehlung auf der Grundlage historischer Präzedenzfälle und allgemeiner Praxis hinzu, machte sie jedoch nicht zu einer Anforderung, da die Systemverwaltung nicht in den Anwendungsbereich dieser Norm fällt.
/var/tmp :Temporäre Dateien, die zwischen Systemneustarts aufbewahrt werden
Die /var/tmp
Verzeichnis wird für Programme zur Verfügung gestellt, die temporäre Dateien oder Verzeichnisse benötigen, die zwischen Systemneustarts erhalten bleiben. Daher werden Daten in /var/tmp
gespeichert ist beständiger als Daten in /tmp
.
Dateien und Verzeichnisse in /var/tmp
darf beim Booten des Systems nicht gelöscht werden. Obwohl Daten in /var/tmp
gespeichert sind normalerweise standortspezifisch gelöscht wird, wird empfohlen, dass Löschungen in einem weniger häufigen Intervall als /tmp
erfolgen .
Auch in The Open Group Base Specifications Issue 7, Environment Variables wird Folgendes erwähnt:
TMPDIR
Diese Variable soll einen Pfadnamen eines Verzeichnisses darstellen, das für Programme zur Verfügung gestellt wird, die einen Platz zum Erstellen temporärer Dateien benötigen.
Dies ist eine alte Frage, daher gibt es heute eine andere Option. Linux-Distributionen, die auf systemd
basieren (das sind 90 % von ihnen) können jetzt $XDG_RUNTIME_DIR
verwenden Verzeichnis (XDG Base Directory Specification) zum Speichern bestimmter Arten von temporären Dateien. Es befindet sich im Allgemeinen unter /run/user/$uid
. Dies ist ein Benutzerverzeichnis mit 700
Berechtigungen, was eine bessere Sicherheit bietet. Dies ist ein tmpfs
Halterung, die Leistung bietet. Die Kehrseite von tmpfs
ist, dass es nur verwendet werden sollte, um kleine Dateien und Sockets zu halten.
Ich betrachte es als eine Hochzeit von /tmp
und /var/run
.
Ja /tmp ist für den allgemeinen Gebrauch. Siehe hier und hier On the Filesystem Hierarchy Standard.
/tmp/ Temporäre Dateien (siehe auch /var/tmp). Wird zwischen Systemneustarts oft nicht beibehalten.
Mit einigen weiteren Details, die im PDF aufgelistet sind.