Temporäre Datei

temp ist eine Weiterleitung auf diesen Artikel. Für Temps in der Wetterbeobachtung siehe Vertikalprofil (Meteorologie). Siehe auch: Tempe.

Temporäre Dateien (im Computer-Slang oft auch Tempfiles bzw. temp, aus engl. temporary files, genannt) sind Dateien, die vom Betriebssystem oder von Anwendungsprogrammen verwendet werden können und zur zeitlich begrenzten Speicherung von Daten dienen,[1] die vom gleichen oder einer anderen Anwendung weiterverarbeitet werden sollen. Die Auslagerung der Daten erfolgt dabei, um den Arbeitsspeicher des Computers zu entlasten[2] oder um die Übergabe von Daten an eine andere Anwendung zu organisieren. Mit Einführung des virtuellen Speichers wird die Notwendigkeit einer solchen Entlastung teilweise abgeschwächt, allerdings ist in der Vergangenheit auch bei einigen Anwendungen das zu verarbeitende Datenvolumen gewachsen, beispielsweise bei der Bildverarbeitung. Meist werden temporäre Dateien von der erstellenden Anwendung selbst auch wieder gelöscht.

Windows

Unter Windows werden temporäre Dateien häufig durch die Dateinamenserweiterung .tmp kenntlich gemacht. Außerdem werden sie häufig spezifisch für den angemeldeten Benutzer gespeichert, das heißt, für jeden Benutzer gibt es ein separates Verzeichnis („Ordner“), in dem diese Dateien abgelegt werden. Standardmäßig wird hierbei ein Unterverzeichnis im Benutzerverzeichnis verwendet, das durch die Umgebungsvariable USERPROFILE[3] oder die Windows-Funktionen GetTempPath* ermittelbar ist.[4] (Dieses Verzeichnis ist u. U. im Windows-Explorer nicht sichtbar, da es sich dabei um einen „versteckten Ordner“ handeln kann, der durch Anpassung der entsprechenden Einstellung – englisch als option bezeichnet – sichtbar gemacht werden kann.) Eine Anpassung des Speicherorts dieser Dateien ist zudem grundsätzlich möglich (Konfiguration über die Registry).

Zur Vereinheitlichung wurden dazu anfangs (im Laufe der Windows-Entwicklung) die sogenannten Umgebungsvariablen TEMP und TMP eingeführt, über welche eine Konfiguration des Verzeichnisses für „temporäre Dateien“ möglich ist.[2][5] Einige Anwendungen beziehen sich noch auf diese Definitionen. Dieses Verzeichnis kann zudem auch über die (ebenso erst im Laufe der Weiterentwicklung eingeführte API-)Funktion Get­Temp­File­Name abgefragt werden.[6]

Vor der vereinheitlichenden Einführung temporärer Dateien wurden diese von den Anwendungen auch in eigenen (anwendungsbezogenen) Verzeichnissen oder im jeweils aktuellen Verzeichnis gespeichert, so dass es insgesamt schwerer war, einen Überblick zu erlangen, um nicht mehr benötigte Dateien vollständig zu bereinigen.

Linux, UNIX

Der Filesystem Hierarchy Standard für temporäre Dateien unterscheidet in Linux zwei Arten:

beim Neustart löschbar
im Verzeichnis /tmp werden jene Dateien abgelegt, die nach einem Neustart des Systems zweifelsfrei nicht mehr benötigt werden und während des Systemstarts geleert werden können[7]
Neustart überdauernd
im Verzeichnis /var/tmp jene Dateien, die auch über einen Neustart des Systems hinaus nutzbar sein sollen.[8]

Unvorsichtiger Umgang mit temporären Dateien kann insbesondere auf Mehrbenutzersystemen, die symbolische Verknüpfungen unterstützen, zu einer Sicherheitslücke führen: Ist der Name einer temporären Datei vorhersagbar, kann unter diesem Namen eine symbolische Verknüpfung abgelegt werden. Wird anschließend ein Programm ausgeführt, das unter demselben Namen eine temporäre Datei erzeugt, kann es zum Datenverlust oder zur Erweiterung von Benutzerrechten kommen. Deshalb enthalten temporäre Dateinamen in der Regel eine zufällig generierte Zeichenkombination.

Einzelnachweise

  1. temporäre Dateien, bei Computerlexikon.de, dort zuletzt geändert am 7.3.2001
  2. a b Temporäre Dateien anlegen und verwenden, bei Microsoft Learn, (dort zuletzt geändert) am 15.11.2004
  3. Recognized Environment Variables, bei Microsoft Learn, (dort erstveröffentlicht oder zuletzt geändert) am 25.7.2008, auf Englisch; hier ansatzweise übersetzt: Erkannte Umgebungsvariablen
  4. https://learn.microsoft.com/en-us/windows/win32/api/fileapi/ (englisch), am 24.1.2023; zu Win32-Funktionen über die Header-Datei fileapi.h
  5. Verschieben von TEMP- und TMP-Verzeichnissen, bei Microsoft Learn, (dort erstveröffentlicht oder zuletzt geändert) am 27.10.2013
  6. Why are there both TMP and TEMP environment variables, and which one is right? (englisch), von Raymond Chen; dort veröffentlicht am 17.4.2015
  7. Filesystem Hierarchy Standard 2.3, /tmp (englisch); Stand: 2004
  8. Filesystem Hierarchy Standard 2.3, /var/tmp (englisch); Stand: 2004