Wir wissen bereits, wie man Dateien einer bestimmten Größe erstellt unter Linux. Das Erstellen von Dateien mit der angegebenen Größe kann in vielen Fällen hilfreich sein. Beispielsweise möchten Sie nach der Bereitstellung eines neuen Dateiservers möglicherweise das Upload-Limit, die maximale Upload-Größe und die Download-Geschwindigkeit der Dateien usw. überprüfen. In solchen Fällen können Sie Dateien mit einer bestimmten Größe erstellen und auf Ihrem Dateiserver testen. Es gibt auch ein dediziertes Befehlszeilentool namens "mktemp" ist verfügbar, um temporäre Dateien und Verzeichnisse zu erstellen. Der Befehl mktemp erstellt sicher eine temporäre Datei oder ein temporäres Verzeichnis und gibt seinen Namen aus. Alle Dateien und Verzeichnisse werden im temporären Verzeichnis des Systems gespeichert, also /tmp . Sie müssen sie also nicht manuell bereinigen. Sobald Sie Ihr System neu gestartet haben, sind die temporären Dateien verschwunden.
Das mktemp-Befehls-Tutorial mit Beispielen
Mktemp ist Teil von GNU Coreutils Paket. Also keine Mühe mit der Installation. Wir werden jetzt einige praktische Beispiele sehen.
Um eine neue temporäre Datei zu erstellen, führen Sie einfach Folgendes aus:
$ mktemp
Sie sehen eine Ausgabe wie unten:
/tmp/tmp.U0C3cgGFpk

Temporäre Datei mit mktemp-Befehl erstellen
Wie Sie in der Ausgabe sehen, eine neue temporäre Datei mit zufälligem Namen "tmp.U0C3cgGFpk" wird im Verzeichnis /tmp erstellt. Diese Datei ist nur eine leere Datei.
Sie können auch eine temporäre Datei mit einem bestimmten Suffix erstellen. Der folgende Befehl erstellt eine temporäre Datei mit der Erweiterung ".txt":
$ mktemp --suffix ".txt" /tmp/tmp.sux7uKNgIA.txt
Wie wäre es mit einem temporären Verzeichnis? Ja, das ist auch möglich! Verwenden Sie zum Erstellen eines temporären Verzeichnisses -d Option.
$ mktemp -d
Dadurch wird ein zufälliges leeres Verzeichnis im /tmp-Ordner erstellt.
Beispielausgabe:
/tmp/tmp.PE7tDnm4uN

Erstellen Sie ein temporäres Verzeichnis mit dem Befehl mktemp
Alle Dateien werden mit u+rw erstellt Berechtigung und Verzeichnisse mit u+rwx , minus umask-Einschränkungen. Mit anderen Worten, die resultierende Datei hat Lese- und Schreibberechtigungen für den aktuellen Benutzer, aber keine Berechtigungen für die Gruppe oder andere. Und das resultierende Verzeichnis hat Lese-, Schreib- und Ausführungsberechtigungen für den aktuellen Benutzer, aber keine Berechtigungen für Gruppen oder andere.
Sie können die Dateiberechtigungen mit dem Befehl „ls“ überprüfen:
$ ls -al /tmp/tmp.U0C3cgGFpk -rw------- 1 sk sk 0 May 14 13:20 /tmp/tmp.U0C3cgGFpk
Überprüfen Sie die Verzeichnisberechtigungen mit dem Befehl „ls“:
$ ls -ld /tmp/tmp.PE7tDnm4uN drwx------ 2 sk sk 4096 May 14 13:25 /tmp/tmp.PE7tDnm4uN

Datei- und Verzeichnisberechtigungen unter Linux prüfen
Empfohlene Lektüre:
- Wie man Verzeichnisse aus einer Textdatei unter Linux erstellt
Erstellen Sie temporäre Dateien oder Verzeichnisse mit benutzerdefinierten Namen mit dem Befehl mktemp
Wie ich bereits sagte, werden alle Dateien und Verzeichnisse mit zufälligen Dateinamen erstellt. Wir können auch eine temporäre Datei oder ein Verzeichnis mit einem benutzerdefinierten Namen erstellen. Fügen Sie dazu einfach mindestens 3 aufeinanderfolgende 'X's hinzu am Ende des Dateinamens wie unten.
$ mktemp ostechnixXXX ostechnixq70
Um ein Verzeichnis zu erstellen, führen Sie auf ähnliche Weise einfach Folgendes aus:
$ mktemp -d ostechnixXXX ostechnixcBO
Bitte beachten Sie, dass, wenn Sie einen benutzerdefinierten Namen wählen, die Dateien/Verzeichnisse im aktuellen Arbeitsverzeichnis erstellt werden, nicht im /tmp-Speicherort . In diesem Fall müssen Sie sie manuell bereinigen.
Wie Sie vielleicht bemerkt haben, werden die X im Dateinamen durch zufällige Zeichen ersetzt. Sie können jedoch ein beliebiges Suffix Ihrer Wahl hinzufügen.
Zum Beispiel möchte ich "blog" am Ende des Dateinamens hinzufügen. Daher wäre mein Befehl:
$ mktemp ostechnixXXX --suffix=blog ostechnixZuZblog
Jetzt haben wir das Suffix "blog" am Ende des Dateinamens.
Wenn Sie keine Datei oder kein Verzeichnis erstellen möchten, können Sie einfach einen Probelauf wie unten durchführen.
$ mktemp -u /tmp/tmp.oK4N4U6rDG
Führen Sie für Hilfe Folgendes aus:
$ mktemp --help
Warum brauchen wir eigentlich mktemp?
Sie fragen sich vielleicht, warum wir "mktemp" brauchen, während wir mit dem Befehl "touch filename" einfach leere Dateien erstellen können. Der Befehl mktemp wird hauptsächlich zum Erstellen von temporären Dateien/Verzeichnissen mit zufälligem Namen verwendet . Wir müssen uns also nicht die Mühe machen, die Namen herauszufinden. Da mktemp die Namen randomisiert, gibt es keine Namenskollision. Außerdem erstellt mktemp Dateien sicher mit der Berechtigung 600 (rw) und Verzeichnisse mit der Berechtigung 700 (rwx), sodass die anderen Benutzer nicht darauf zugreifen können. Weitere Einzelheiten finden Sie in den Manpages.
$ man mktemp