Der Befehl mktemp
In diesem Beitrag lernen Sie den Befehl mktemp kennen, welcher unter UNIX- / Linux-Betriebssysteme eingesetzt wird, um temporäre Dateien oder Verzeichnisse auf sichere Weise zu erstellen. Der Befehl eignet sich damit insbesondere für den Einsatz in Shell-Skripten, wenn etwa zur Laufzeit des Skripts eine temporäre Ablage für Daten benötigt wird.
mktemp ist Teil der coreutils und damit auf den meisten Systemen bereits vorinstalliert.
Allgemeine Syntax
Die allgemeine Syntax von mktemp lautet folgendermaßen:
mktemp [Optionen] [Schablone]
Die Schablone spezifiziert den Aufbau des Namens der zu erstellenden Datei. Es müssen mindestens drei aufeinanderfolgende "X" in der letzten Komponente der Schablone enthalten sein - diese dienen als Platzhalter und werden ersetzt, um einen einzigartigen Namen für die neue Datei bzw. das Verzeichnis zu generieren. Wird der Befehl ohne Schablone ausgeführt, so erstellt er eine temporäre Datei im Verzeichnis $TMPDIR oder /tmp (impliziert Option --tmpdir) mit der Standard-Schablone "tmp.XXXXXXXXXX".
Während Dateien mit dem Modus "u+rw" erstellt werden, nutzt mktemp bei Verzeichnissen "u+rwx". Näheres zu diesen Modi können Sie in unserem Beitrag zum Linux-Berechtigungssystem nachlesen.
Den Namen der erstellten Datei / des Verzeichnisses gibt mktemp am Standard-Output stdout zurück.
Wichtige Optionen
In diesem Abschnitt lernen Sie die wichtigsten Optionen für den Befehl mktemp kennen.
-d - Verzeichnis erstellen
Bei Verwendung der Option -d erstellt mktemp keine Datei, sondern ein Verzeichnis:
mktemp -d [Schablone]
--suffix - Suffix anhängen
Mit der Option --suffix kann ein Suffix an die Schablone angehängt werden. Dies ist beispielsweise dann nützlich, wenn der Name einer temporären Datei eine bestimmte Dateiendung haben soll.
mktemp --suffix [Suffix] [Schablone]
Wichtig ist, dass der Suffix keinen Schrägstrich "/" enthalten darf. Wenn die Schablone nicht mit einem "X" endet, wird diese Option impliziert.
--tmpdir - Verzeichnis spezifizieren
Mithilfe der Option --tmpdir ist es möglich, die Schablone relativ zu einem spezifizierten Verzeichnis auszuwerten, sodass die temporäre Datei / das Verzeichnis dort erstellt wird. Standardmäßig wird, sofern festgelegt, $TMPDIR verwendet, andernfalls /tmp.
mktemp --tmpdir [Verzeichnis] [Schablone]
Als Schablone darf beim Einsatz dieser Option kein absoluter Name verwendet werden. Schrägstriche dürfen im Verzeichnisnamen enthalten sein. mktemp erstellt nur die letzte Namenskomponente - der übrige Pfad muss bereits existieren.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!