So verwenden Sie den Touch-Befehl in Linux

So verwenden Sie den Touch-Befehl in Linux
Schwarzer und silberner Laptop mit mobilem Feature-Image-Touch-Befehl

Sie möchten schnell eine Datei erstellen, aber keinen Texteditor öffnen oder durch eine grafische Benutzeroberfläche navigieren? Dann brauchen Sie nicht weiter zu suchen, sondern brauchen nur diesen touchBefehl. Dieser Befehl ist nützlich, um leere Dateien zu erstellen und Dateizeitstempel zu aktualisieren, was für die Verwaltung von Backups und die effektive Ausführung von Skripts von entscheidender Bedeutung ist.

In diesem Handbuch erfahren Sie, wie Sie mit dem Touch-Befehl in Linux einzelne oder mehrere leere Dateien erstellen oder Zeitstempel für Skriptanforderungen anpassen.

So funktioniert der Touch-Befehl

In UNIX/Linux-Systemen touchwird der Befehl häufig verwendet, um schnell leere Dateien zu erstellen. Darüber hinaus können Sie damit die Zeitstempel ändern – insbesondere die Zugriffs- und Änderungszeiten bereits vorhandener Dateien.

Wenn die Datei nicht existiert, generiert touch sie, allerdings ohne Inhalt. Darüber hinaus ist es aufgrund seiner Fähigkeit, Zeitstempel zu ändern, für die Skripterstellung und Verwaltung von Dateisystemen von unschätzbarem Wert.

Die Syntax des Touch-Befehls lautet wie folgt:

Erstellen einer leeren Datei

Das Erstellen einer leeren Datei mit dem Touch-Befehl ist sehr einfach. Verwenden Sie einfach den touchBefehl ohne Flags/Optionen:

Um die Erstellung der Datei zu überprüfen, können Sie ihre Dateigröße mit dem folgenden statBefehl prüfen:

Überprüfen der Dateigröße der leeren Datei mit dem Befehl „stat“.

Suchen Sie in der Ausgabe nach dem Feld Größe . Wenn dort 0 angezeigt wird, ist die Datei leer.

Wenn die Datei bereits vorhanden ist, aktualisiert der Touch-Befehl außerdem ihre Zugriffs- (atime) und Änderungszeiten (mtime) auf die aktuelle Zeit, ohne den Inhalt oder die Berechtigungen der Datei zu beeinflussen.

Mehrere leere Dateien erstellen

Was ist, wenn Sie mehr als eine leere Datei benötigen? Mit Touch können Sie mehrere Dateien gleichzeitig erstellen. Lassen Sie uns beispielsweise mehrere Dateien erstellen, die durch Leerzeichen getrennt sind, wie folgt:

Sie können die Erstellung dieser mehreren leeren Dateien überprüfen, indem Sie Folgendes ausführen:

Erstellen und Überprüfen der Größe mehrerer leerer Dateien.

Sie können mithilfe geschweifter Klammern auch eine Reihe von Dateien mit nummerierten oder mit Buchstaben versehenen Namen erstellen.

Lassen Sie uns mehrere Dateien mit nummerierten Namen erstellen:

Bestätigen Sie dies, indem Sie Ihre Dateien im angegebenen Verzeichnis anzeigen.

Anzeigen mehrerer leerer Dateien im angegebenen Verzeichnis.

Auf ähnliche Weise können Sie auch Dateien mit Buchstabennamen erstellen:

Touch-Befehlsoptionen

Wie bereits erwähnt, dient dieser Touch-Befehl nicht nur zum Erstellen von Dateien, sondern ist auch ein Tool zum Verwalten von Dateizeitstempeln. Um diese Zeitstempel zu bearbeiten, müssen Sie wissen, wie die Touch-Befehlsoptionen funktionieren. Schauen wir sie uns einmal an:

Option Beschreibung
-A Aktualisiert nur die Dateizugriffszeit.
-C Verhindert die Erstellung einer neuen Datei, wenn diese noch nicht vorhanden ist.
-d=, –date= Ändert den Zeitstempel einer Datei mithilfe einer angegebenen Datumszeichenfolge.
-M Aktualisiert nur die Dateiänderungszeit.
-R Verwendet die Atime und Mtime aus einer Referenzdatei.
-T Ändert den Zeitstempel einer Datei mithilfe eines angegebenen Datums und einer angegebenen Uhrzeit.

Ändern der Zugriffszeit einer Datei

Die Zugriffszeit oder atime ist der Zeitstempel, der aktualisiert wird, wenn auf den Inhalt einer Datei mit Befehlszeilentools wie grep oder cat oder Texteditoren wie vim oder nano zugegriffen wird.

Standardmäßig aktualisiert touch sowohl die Zugriffs- als auch die Änderungszeit. Wenn Sie jedoch nur die Zugriffszeit ändern möchten, können Sie die -aOption mit dem touchBefehl verwenden. Dies ist insbesondere nützlich, um die Dateinutzung zu simulieren oder Protokolle für bestimmte Vorgänge anzupassen.

Zugriffszeit der angegebenen Datei vor der Änderung.

Jetzt können Sie die Zugriffszeit einer angegebenen Datei mit touch -adem folgenden Befehl ändern:

Darüber hinaus aktualisiert der obige Befehl die Zugriffszeit der angegebenen Datei auf die aktuelle Zeit, ohne die Mtime zu beeinflussen.

Lassen Sie uns die Änderung überprüfen, indem Sie Folgendes ausführen:

Anzeigen der Zugriffszeit der angegebenen Datei im Terminalfenster nach der Änderung.

Darüber hinaus können Sie auch eine bestimmte Zugriffszeit festlegen, indem Sie die Optionen -aund kombinieren -t. So ändern Sie beispielsweise die angegebene Dateizugriffszeit auf Mitternacht am 1. Juni 2010:

Hier -aändert die Option den Zugriffszeitpunkt und die -tOption gibt die Zeit im Format [[CC]JJ]MMTThhmm[.ss] an .

Um die Änderungen zu überprüfen, können Sie erneut diesen Befehl verwenden:

Zuweisen einer bestimmten Zugriffszeit zu einer Datei mithilfe der Touch-Befehlsoptionen.

Änderungszeitpunkt ändern

Der Änderungszeitpunkt oder die Änderungszeit ist der Zeitstempel, der sich ändert, wenn der Inhalt einer Datei geändert wird. Änderungen in Bezug auf Dateiberechtigungen oder -eigentümer werden jedoch nicht verfolgt.

Um nur die letzte Änderungszeit einer Datei zu aktualisieren, ohne die Zugriffszeit zu ändern, können Sie die -mOption des Touch-Befehls verwenden:

Um die Änderungen zu überprüfen, verwenden Sie den folgenden statBefehl:

Anzeige der Änderungszeit nach der Änderung mit der Option -m.

Dadurch wird die Mtime auf den aktuellen Zeitpunkt geändert, während die Zugriffszeit bzw. Atime unverändert bleibt.

Wenn Sie einen bestimmten Zeitstempel für die Änderungszeit festlegen müssen, müssen Sie die -mOptionen mit der -tOption kombinieren. Um beispielsweise die Änderungszeit auf 08:45 Uhr am 19. Juni 2014 festzulegen, führen Sie Folgendes aus:

Überprüfen Sie als Nächstes die aktualisierte Änderungszeit, indem Sie Folgendes ausführen:

Anzeige des Dateiänderungszeitpunkts mit dem Befehl stat.

Änderungs- und Zugriffszeit ändern

In manchen Fällen müssen Sie möglicherweise sowohl Atime als auch Mtime gleichzeitig aktualisieren. Verwenden Sie dazu den Befehl „touch“, unabhängig von den Optionen.

Durch Ausführen dieses Befehls werden sowohl die Atime als auch die Mtime auf die aktuelle Zeit geändert. Verwenden Sie dies, wenn Sie die Zeitstempel einer Datei aktualisieren möchten, um aktuelle Interaktionen oder Änderungen widerzuspiegeln, ohne den Inhalt der Datei zu ändern.

-aDarüber hinaus können Sie die Optionen und -mzusammen mit dem Befehl verwenden, touchum sowohl die Zugriffs- als auch die Änderungszeiten zu ändern:

Sie können die aktualisierten Zeiten überprüfen, indem Sie Folgendes ausführen:

Erstellen einer Datei mit angegebener Zeit

Manchmal möchten Sie den Zeitstempel einer Datei auf eine bestimmte Uhrzeit und ein bestimmtes Datum setzen, anstatt auf den aktuellen Zeitpunkt. Mit der -tOption gefolgt vom gewünschten Zeitstempel im Format [[CC]JJ]MMTThhmm[.ss] können Sie genau das tun.

Wenn Sie beispielsweise den Zugriffs- und Änderungszeitpunkt einer bestimmten Datei auf den 1. Januar 2024, 12:30 Uhr festlegen möchten, müssen Sie Folgendes eingeben:

Um die Änderung zu bestätigen, führen Sie Folgendes aus:

Anzeige des Atime- und Mtime-Werts nach der Änderung mit der Option -t des Touch-Befehls.

Sie können die -rOption auch verwenden, um den Zeitstempel einer Datei so zu aktualisieren, dass er mit dem einer anderen Datei übereinstimmt. Lassen Sie uns beispielsweise den happy.txtDateizeitstempel basierend auf dem new_file.txtZeitstempel ändern.

Aber schauen wir uns vor der Änderung die Änderungszeit der angegebenen Dateien an:

Auflistung aller Dateien mit ihrem Änderungszeitpunkt.

Ändern Sie anschließend den Zeitstempel einer Datei, sodass er mit dem Zeitstempel einer anderen Datei übereinstimmt:

Überprüfen Sie die Änderung mit:

Auflistung aller Dateien zusammen mit ihren Änderungszeiten nach der Änderung des Zeitstempels mit der Option -r.

Alternative zum Touch Command

Touch ist mein bevorzugtes Tool für die schnelle Dateierstellung und Zeitstempelbearbeitung, aber Sie können auch andere Methoden verwenden. Lassen Sie uns einige dieser Alternativen erkunden.

Cat-Befehl

Sie verwenden den Befehl cat häufig, um Dateiinhalte anzuzeigen, er kann aber auch Dateien erstellen. Indem Sie cat mit einem Umleitungsoperator verwenden, können Sie eine leere Datei generieren:

Dieser Befehl erstellt den filename.txtEingabemodus und versetzt Sie in diesen. Wenn Sie Ctrl+ drücken D, wird die Eingabe beendet und die Datei leer gelassen.

Umleitungsoperator

Eine weitere Möglichkeit zum Erstellen von Dateien sind Umleitungsoperatoren (>, >>). Mit dem >Operator können Sie eine leere Datei erstellen oder eine vorhandene überschreiben:

Sie können den Operator auch verwenden >>, dieser hängt den Inhalt jedoch an eine vorhandene Datei an, anstatt eine neue zu erstellen oder die Datei leer zu lassen.

Texteditor

Es gibt viele Befehlszeilen-Texteditoren wie nano, vim oder emacs, mit denen Sie Dateien erstellen und bearbeiten können. Darüber hinaus können Sie mit diesen Texteditoren eine leere Datei erstellen.

Um beispielsweise mit Vim eine leere Datei zu erstellen, führen Sie Folgendes aus:

Wenn Sie Vim öffnen, befinden Sie sich standardmäßig im Befehlsmodus. Drücken Sie , ium in den Einfügemodus zu wechseln, in dem Sie Inhalte eingeben oder bearbeiten können.

Nachdem Sie den Einfügemodus aktiviert haben, drücken Sie Esc, um in den Befehlsmodus zurückzukehren. Geben Sie dann ein :wqund drücken Sie die Eingabetaste, um Ihre Arbeit zu speichern und Vim zu beenden. Und das war’s – Sie haben mit Vim eine leere Datei erstellt!

Einpacken

Linux bietet mehrere Möglichkeiten zum Verwalten von Dateien, aber das Touch-Dienstprogramm zeichnet sich durch seine Einfachheit und Effektivität aus. Sie können auch lernen, wie Sie unter Linux andere Vorgänge ausführen, z. B. Dateien verketten, Dateien suchen oder Dateien entfernen und andere.

Bildnachweis: Unsplash . Alle Änderungen und Screenshots von Haroon Javed.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert