Der Touch-Befehl ist ein Linux-Befehl, der hauptsächlich zum Erstellen leerer Dateien und zum Ändern von Zeitstempeln von Dateien oder Ordnern verwendet wird. Die Zeitstempelinformationen von Dateien bestehen aus drei Attributen – Zugriffszeit, Änderungszeit und Änderungszeit.
Dieses Tutorial erklärt den Linux-Touch-Befehl, seine Optionen und Verwendungen und liefert nützliche Beispiele.
Was ist ein Zeitstempel in Linux
Unter Linux ist jeder Datei und jedem Ordner ein Zeitstempel zugeordnet, der Auskunft darüber gibt, wann der Inhalt einer Datei oder ihre Attribute geändert wurden. Es gibt drei Arten von Zeitstempeln:
- Zugriffszeit (atime) – wann eine Datei zuletzt gelesen wurde
- Änderungszeit (mtime) – die letzte Änderung des Inhalts einer Datei. Wie die Zugriffszeit ist sie auch Teil der Statusmetadaten der Dateien
- Änderungszeit (ctime) – die letzte Zeit, zu der Metadaten einer Datei geändert wurden (z. B. Berechtigungen)
Da atime und mtime Teil der Statusmetadaten einer Datei sind, führt das Ändern von atime oder mtime einer Datei dazu, dass ctime automatisch auf die aktuelle Zeit gesetzt wird. Es gibt keine Möglichkeit, ctime manuell einzustellen oder zu ändern. Der Linux-Touch-Befehl wird hauptsächlich verwendet, um die Zugriffs- und Änderungszeit von Dateien zu manipulieren, indem verschiedene Optionen verwendet werden, wie unten beschrieben. Denken Sie daran, dass Sie vor Verwendung des Touch-Befehls über SSH auf Ihr VPS zugreifen müssen!
Linux Touch-Befehlssyntax
Die Syntax des Touch-Befehls lautet:
touch [options] [file_name]
Der folgende Abschnitt listet die Verwendung des Linux-Touch-Befehls auf, indem er alle Optionen enthält.
Erstellen Sie eine Datei mit Touch
Der Touch-Befehl ohne Optionen erstellt eine neue Datei. Wenn die Datei existiert, aktualisiert der Touch-Befehl den Zugriff und die Änderung auf die aktuelle Zeit, ohne ihren Inhalt zu ändern:
touch file_name.txt
Mehrere Dateien mit Touch erstellen
Es ist auch möglich, mehrere Dateien mit einem einzigen Berührungsbefehl zu erstellen. Geben Sie dazu die Namen der Dateien mit Leerzeichen dazwischen an. In der Kommandozeile würde es so aussehen:
touch file_name1.txt file_name2.txt file_name3.txt
Sie können Dateinamen mit geschweiften Klammern automatisch generieren, während Sie mehrere Dateien erstellen, wie im folgenden Beispiel:
touch file_name{1..3}.txt
Der obige Touch-Befehl erstellt drei Dateien namens Dateiname1.txt , Dateiname2.txt, und file_name3.txt .
Zugriffszeit per Touch ändern
Um die Zugriffszeit einer Datei auf die aktuelle Zeit zu ändern, verwenden Sie das a Option gefolgt vom Dateinamen mit Touch-Befehl wie im folgenden Beispiel:
touch -a file_name.txt
Ändern Sie die Änderungszeit mit Touch
Das m Option zusammen mit dem Touch-Befehl ändert die Änderungszeit einer Datei auf die aktuelle Zeit:
touch -m file_name1.txt
Zugriffs- und Änderungszeit per Touch ändern
Um sowohl die Zugriffszeit als auch die Änderungszeit mit einem einzigen Befehl zu ändern, verwenden Sie die Optionen a und m zusammen:
touch -am file_name1.txt
Zugriffszeit ändern, ohne eine neue Datei zu erstellen
In einigen Situationen möchten Sie die Zugriffs- und Änderungszeit einer vorhandenen Datei auf die aktuelle Zeit ändern, ohne tatsächlich eine neue Datei zu erstellen. Verwenden Sie dazu das c Option gefolgt vom Dateinamen mit Touch-Befehl.
touch -c file_name.txt
Festlegen einer spezifischen Zugriffs- und Änderungszeit mit Touch
Es ist auch möglich, die Zugriffs- und Änderungszeit einer Datei mit t auf ein bestimmtes Datum zu setzen Option gefolgt von datetime. Das würde so aussehen:
touch -t 201903081047.30 file_name.txt
Das datetime-Format muss CCYYMMDDhhmm.ss sein wo:
- MM – Der Monat des Jahres [01-12]
- DD – Der Tag des Monats [01-31]
- hh – Die Stunde des Tages [00-23]
- mm – Die Minute der Stunde [00-59]
- CC – Die ersten beiden Ziffern des Jahres
- YY – Die zweiten beiden Ziffern des Jahres
- SS – Die Sekunde der Minute [00-59]
Ändere den Zeitstempel einer symbolisch verknüpften Datei
Wenn Sie einen symbolisch verknüpften Dateinamen mit dem Linux-Touch-Befehl verwenden, werden die Zeitstempelinformationen für die Originaldatei, d. h. die Datei, auf die die Verknüpfungsdatei verweist, geändert. Um die Zugriffs- und Änderungszeit für eine symbolisch verknüpfte Datei auf die aktuelle Zeit zu ändern, verwenden Sie das h Möglichkeit:
touch -h symbolic_link_file
Legen Sie den Zeitstempel fest, indem Sie eine andere Datei als Referenz verwenden
Der Linux-Touch-Befehl kann auch die Zugriffs- und Änderungszeit einer Datei festlegen, indem er die Zeitstempelinformationen aus einer anderen Datei liest. Zum Beispiel der folgende Touch-Befehl mit dem r scannt die Zeitstempelinformationen aus reference.txt und setzen Sie diese Zeitstempelwerte auf Dateiname.txt . Hier ist ein Beispiel für den Befehl:
touch -r reference.txt file_name.txt
Datum und Uhrzeit als String per Touch angeben
Sie können Datum und Uhrzeit auch als Zeichenfolge angeben, indem Sie das d verwenden Möglichkeit. Das folgende Linux-Touch-Befehlsbeispiel setzt das Datum auf den 8. März und die Uhrzeit automatisch auf 00:00
touch -d '8 Mar' file_name.txt
Anstatt das Datum als Zeichenfolge anzugeben, können Sie die Uhrzeit als Zeichenfolge angeben. In diesem Fall wird das Datum automatisch auf das aktuelle Datum gesetzt:
touch -d '20:10' file_name.txt
Fazit
Dieses Tutorial behandelt die Verwendung des Linux-Touch-Befehls, indem es die gängigsten Optionen enthält. Bei Schwierigkeiten im Zusammenhang mit dem Linux-Touch-Befehl können Sie dessen Handbuchseite im Terminal aufrufen!