Startseite > Datei- und Verzeichnisverwaltung > mktemp

mktemp: Temporäre Dateien/Verzeichnisse erstellen

Der Befehl mktemp erstellt sicher temporäre Dateien oder Verzeichnisse mit eindeutigen Namen. Er ist dafür konzipiert, wenn Skripte temporären Speicherplatz benötigen, ohne Namenskonflikte oder Sicherheitsprobleme zu verursachen.

Übersicht

mktemp erstellt temporäre Dateien oder Verzeichnisse mit unvorhersehbaren und eindeutigen Namen, um Sicherheit und Konfliktprobleme zu vermeiden. Es wird häufig in Shell-Skripten verwendet, wenn sicherer temporärer Speicherplatz benötigt wird, und der Pfad zur erstellten Datei/Verzeichnis wird auf der Standardausgabe zurückgegeben.

Hauptmerkmale

  • Erstellung eindeutiger und unvorhersehbarer Namen
  • Schutz vor Sicherheitslücken (Schutz vor Race-Condition-Angriffen)
  • Auswahl zwischen der Erstellung temporärer Dateien oder temporärer Verzeichnisse
  • Geeignet für die Automatisierung von Shell-Skripten

Wichtige Optionen

Der Befehl mktemp bietet mehrere wichtige Optionen zur Steuerung der Erstellung temporärer Dateien oder Verzeichnisse.

Erstellungstyp

Namensvorlage

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`mktemp` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Zeigt verschiedene Möglichkeiten, temporäre Dateien und Verzeichnisse mit dem Befehl mktemp zu erstellen und sie in Skripten zu verwenden.

Standardmäßige temporäre Datei erstellen

mktemp

Erstellt eine temporäre Datei mit einem eindeutigen Namen im Standard-Temporärverzeichnis (normalerweise /tmp).

Temporäres Verzeichnis erstellen

mktemp -d

Erstellt ein temporäres Verzeichnis mit der Option -d.

Temporäre Datei mit einem bestimmten Muster erstellen

mktemp /tmp/my_app.XXXXXX

Erstellt eine temporäre Datei mit dem angegebenen Pfad und Muster. 'X' wird durch eindeutige Zeichen ersetzt.

Temporäre Datei in einem Skript verwenden und automatisch löschen

TEMP_FILE=$(mktemp)
if [ -z "$TEMP_FILE" ]; then
  echo "Fehler beim Erstellen der temporären Datei"
  exit 1
fi
trap 'rm -f "$TEMP_FILE"' EXIT

echo "Pfad der temporären Datei: $TEMP_FILE"
echo "Hallo von mktemp!" > "$TEMP_FILE"
cat "$TEMP_FILE"
# $TEMP_FILE wird beim Beenden des Skripts automatisch gelöscht.

Speichert den Pfad der erstellten temporären Datei in einer Variablen und verwendet den Befehl trap, um die Datei beim Beenden des Skripts automatisch zu löschen.

Temporäres Verzeichnis in einem Skript verwenden und automatisch löschen

TEMP_DIR=$(mktemp -d)
if [ -z "$TEMP_DIR" ]; then
  echo "Fehler beim Erstellen des temporären Verzeichnisses"
  exit 1
fi
trap 'rm -rf "$TEMP_DIR"' EXIT

echo "Pfad des temporären Verzeichnisses: $TEMP_DIR"
echo "Dies ist eine Testdatei." > "$TEMP_DIR/test.txt"
ls -l "$TEMP_DIR"
cat "$TEMP_DIR/test.txt"
# $TEMP_DIR wird beim Beenden des Skripts automatisch gelöscht.

Speichert den Pfad des erstellten temporären Verzeichnisses in einer Variablen und verwendet den Befehl trap, um das Verzeichnis beim Beenden des Skripts automatisch zu löschen.

Tipps & Hinweise

Nützliche Tipps und zu beachtende Punkte bei der Verwendung von mktemp.

Aufräumen nach Gebrauch erforderlich

mktemp erstellt temporäre Dateien, löscht sie aber nicht automatisch. Sie müssen die erstellten Dateien oder Verzeichnisse explizit mit dem Befehl `rm` löschen, wenn das Skript beendet wird. Die Verwendung des Befehls `trap` ermöglicht eine automatische Bereinigung, unabhängig davon, wie das Skript beendet wird.

  • Datei: `rm "$TEMP_FILE"`
  • Verzeichnis: `rm -rf "$TEMP_DIR"`
  • Automatische Bereinigung: `trap 'rm -rf "$TEMP_PATH"' EXIT`

Sicherheitsüberlegungen

mktemp ist sicher konzipiert, um Race-Condition-Angriffe bei der Erstellung temporärer Dateien zu verhindern. Wenn Sie jedoch sensible Informationen in den erstellten Dateien speichern, sollten Sie die Dateiberechtigungen entsprechend festlegen (z. B. `chmod 600 $TEMP_FILE`), um den Zugriff durch andere Benutzer zu verhindern.

Bei Verwendung von Vorlagen

Die Vorlagenzeichenfolge muss mindestens drei 'X'-Zeichen enthalten. Je mehr 'X'-Zeichen vorhanden sind, desto höher ist die Eindeutigkeit des generierten Namens.

  • Empfohlen: XXXXXX (6 oder mehr)
  • Minimum: XXX (3)

Gleiche Kategorie Befehle