Linux mktemp Befehl für Anfänger (5 Beispiele)

Das Erstellen von temporären Dateien oder Verzeichnissen ist eine häufige Aufgabe, die viele Linux-Kommandozeilenbenutzer ausführen. Aber weißt du, dass es ein spezielles Kommandozeilen-Tool gibt – mktemp genannt – das dich das machen lässt?

In diesem Tutorial werden wir die Grundlagen der mktemp-Befehle anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einer Ubuntu 18.04 LTS Maschine getestet wurden.

Linux mktemp Befehl

Mit dem Befehl mktemp unter Linux können Benutzer eine temporäre Datei oder ein temporäres Verzeichnis erstellen. Folgendes ist seine Syntax:

mktemp [OPTION]... [TEMPLATE]

Und so erklärt es die Man Page des Tools:

       Create a temporary file or directory, safely, and print its name.  TEM?
       PLATE must contain at least 3 consecutive 'X's in last  component.   If
       TEMPLATE is not specified, use tmp.XXXXXXXXXX, and --tmpdir is implied.
       Files are created u+rw, and directories  u+rwx,  minus  umask  restric?
       tions.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der Befehl mktemp funktioniert.

Q1. Wie erstellt man eine temporäre Datei mit mktemp?

Ganz einfach. Führen Sie einfach’mktemp‘ ohne jede Option aus. Du wirst sehen, dass eine temporäre Datei im Ordner /tmp/ erstellt wird.

mktemp

In meinem Fall zum Beispiel wurde die folgende Ausgabe erzeugt:

/tmp/tmp.Hli0TAaYqp

Q2. Wie erstellt man ein temporäres Verzeichnis mit mktemp?

Dies kann mit der Kommandozeilenoption -d erfolgen.

mktemp -d

In meinem Fall zum Beispiel wurde die folgende Ausgabe erzeugt:

/tmp/tmp.JDDdS9Lloy

Sie sehen also, der Name spiegelt nicht die Tatsache wider, dass es sich um ein Verzeichnis handelt, sondern ist es tatsächlich.

Q3. Wie kann man Ihrer temporären Datei/Verzeichnis einen benutzerdefinierten Namen geben?

Wie Sie vielleicht schon bemerkt haben, gibt mktemp der temporären Datei oder dem Verzeichnis, das sie erstellt, einen zufälligen Namen. Wenn Sie jedoch möchten, können Sie einen benutzerdefinierten Namen angeben.

Das Tool bietet eine Vorlage, die Sie verwenden können. Alles, was Sie tun müssen, ist, einen Namen anzugeben, gefolgt von drei oder mehr X in Fortsetzung. Diese X’s werden durch mktemp mit zufälligen Zeichen ersetzt, so dass sich der endgültige Name der Datei oder des Verzeichnisses als eindeutig erweist.

Zum Beispiel habe ich den folgenden Befehl ausgeführt:

mktemp tempfileXXX

Und die folgende Datei wurde erstellt:

tempfileEgh

Beachten Sie, dass sich die so erzeugten Dateien im aktuellen Arbeitsverzeichnis befinden und nicht im Verzeichnis /tmp/ (was das Standardverhalten ist).

Q4. Wie fügt man ein Suffix am Ende des Datei-/Direktnamens hinzu?

Im vorherigen Abschnitt haben wir besprochen, wie man einen benutzerdefinierten Namen hat, wenn man mktemp verwendet. Aber auf diese Weise kannst du nur den Anfangsteil des Namens wie gewünscht haben. Was ist, wenn du auch ein Suffix deiner Wahl willst?

Sie werden froh sein zu wissen, dass dies auch möglich ist. Sie müssen nur die Option –suffix verwenden. Nachfolgend ein Beispiel:

mktemp tempfileXXX --suffix=HTF

Und hier ist der Name der Datei, die durch den oben genannten Befehl erzeugt wurde:

tempfilecVkHTF

So können Sie sehen, dass das von Ihnen angegebene Suffix dem Dateinamen hinzugefügt wurde.

Q5. Wie kann man mit mktemp nur einen Trockenlauf durchführen?

Wenn Sie nur möchten, dass mktemp einen Namen anzeigt und keine Datei/ein Verzeichnis erstellt, dann können Sie dies mit der Kommandozeilenoption -u tun.

mktemp -u

Fazit

Je nachdem, welche Art von Arbeit Sie auf der Linux-Befehlszeile verrichten, kann sich der Befehl mktemp als praktisches und zeitsparendes Werkzeug für Sie erweisen. Hier, in diesem Tutorial, haben wir einige Befehlszeilenoptionen besprochen, die das Tool anbietet. Um mehr zu erfahren, gehe auf die Man Page.

Das könnte dich auch interessieren …