Was ist der Linux touch-Befehl?
Als Linux-Benutzer wirst du oft mit der Erstellung, Änderung und dem Zugriff auf Dateien zu tun haben. Der touch
-Befehl ist ein vielseitiges Werkzeug, das genau diese Aufgaben mühelos bewältigt.
Der touch
-Befehl ist ein grundlegender Befehl, der es dir ermöglicht, Dateien zu erstellen und deren Zeitstempel zu aktualisieren, einschließlich Zugriffszeit, Änderungszeit und Erstellungszeit. Er ist in den meisten Linux-Distributionen standardmäßig enthalten und für Anfänger sowie erfahrene Benutzer gleichermaßen nützlich.
Hauptfunktionen des touch-Befehls
-
Erstellung neuer Dateien: Der
touch
-Befehl ist der einfachste Weg, eine neue leere Datei zu erstellen, ohne dass du einen Texteditor öffnen musst. -
Aktualisierung von Zeitstempeln: Du kannst die Zeitstempel vorhandener Dateien mit dem
touch
-Befehl ändern. Dies ist nützlich, um die Reihenfolge der Dateien zu organisieren oder um das Datum und die Uhrzeit ihrer letzten Änderung zu aktualisieren. -
Überprüfung von Dateieigenschaften: Der
touch
-Befehl kann auch verwendet werden, um die Eigenschaften einer Datei anzuzeigen, z. B. ihre Größe, ihren Besitzer und ihre Berechtigungen.
Erstellen von neuen Dateien mit dem touch-Befehl
Der touch-Befehl ist ein vielseitiges Werkzeug in Linux, mit dem du neue Dateien erstellen kannst. Dies kann in verschiedenen Situationen nützlich sein, z. B. beim Erstellen von Platzhaltern für zukünftige Dateien, beim Initialisieren von Skripten oder beim Aktualisieren von Zeitstempeln.
Syntax
Die grundlegende Syntax zum Erstellen neuer Dateien mit dem touch-Befehl lautet:
touch [Optionen] <Dateiname>
Parameter
- <Dateiname>: Der Name der zu erstellenden Datei.
Optionen
Es gibt mehrere Optionen, mit denen du das Verhalten des touch-Befehls anpassen kannst:
- -a|: Access time: Ändert nur den Zugriffszeitstempel.
- -c|: No create: Erstellt die Datei nur, wenn sie bereits existiert.
- -m|: Modify time: Ändert nur den Änderungszeitsstempel.
- -t[STAMP]: Setzt Zeitstempel auf den angegebenen Wert im Format JJJJMMTThhmm.SS.
- -r <Referenzdatei>: Verwendet die Zeitstempel der angegebenen Referenzdatei.
So erstellst du eine neue Datei mit touch
Um eine neue Datei mit dem touch-Befehl zu erstellen, gib einfach den Dateinamen als Argument an:
touch neue_datei.txt
Dadurch wird die Datei neue_datei.txt im aktuellen Verzeichnis erstellt. Wenn die Datei bereits existiert, wird der Zeitstempel einfach aktualisiert.
Verwendung von Optionen
Du kannst die Optionen des touch-Befehls verwenden, um das Verhalten anzupassen. Beispielsweise kannst du die Option -c verwenden, um die Datei nur zu erstellen, wenn sie noch nicht existiert:
touch -c existierende_datei.txt
Wenn die Datei existierende_datei.txt bereits existiert, wird sie nicht erneut erstellt. Andernfalls wird die Datei erstellt.
Ändern von Zeitstempeln mit dem touch-Befehl
Über den touch-Befehl kannst du nicht nur neue Dateien erstellen, sondern auch deren Zeitstempel anpassen. Zeitstempel spielen eine wichtige Rolle in der Dateiverwaltung unter Linux, da sie Informationen über die letzte Änderung, den letzten Zugriff und die Erstellung einer Datei enthalten.
Ändern des Zugriffsstempels
Um nur den Zugriffsstempel einer bestehenden Datei zu ändern, kannst du die Option -a
verwenden. Diese Option aktualisiert die Zeit, zu der auf die Datei zuletzt zugegriffen wurde, ohne den Änderungs- und Erstellungsstempel zu berühren:
touch -a datei.txt
Ändern des Änderungsstampels
Möchtest du den Änderungstempel einer Datei anpassen, nutze die Option -m
. Diese Option aktualisiert die Zeit, zu der die Datei zuletzt geändert wurde, und lässt den Zugriffsstempel unverändert:
touch -m datei.txt
Ändern von Datum und Uhrzeit
Du kannst auch ein bestimmtes Datum und eine bestimmte Uhrzeit für den Zeitstempel einer Datei festlegen, indem du die Option -t
verwendest. Diese Option erwartet zwei Argumente: das Datum und die Uhrzeit im Format JJJJMMTTmm
.
Beispielsweise kannst du den Zeitstempel von datei.txt
auf den 1. Januar 2023 um 12:00 Uhr einstellen:
touch -t 202301011200 datei.txt
Weitere Optionen
Zusätzlich zu den oben aufgeführten Optionen bietet der touch-Befehl noch weitere Optionen zur Anpassung von Zeitstempeln:
-
-c
: Erstellt eine Datei nur, wenn sie noch nicht existiert -
-r
: Setzt die Zeitstempel einer Datei auf die Zeitstempel einer anderen Datei -
-d
: Setzt die Zeitstempel einer Datei auf ein angegebenes Datum und eine angegebene Uhrzeit im FormatMMTTJJJJhhmm
-
-f
: Erzwingt die Aktualisierung der Zeitstempel, auch wenn die Datei schreibgeschützt ist
Diese Optionen ermöglichen es dir, die Zeitstempel von Dateien präzise zu verwalten und auf deine spezifischen Anforderungen abzustimmen.
Ändern des Zugriffstimpels
Der Zugriffsstempel einer Datei gibt an, wann das letzte Mal auf ihre Daten zugegriffen wurde, nicht wann sie bearbeitet oder erstellt wurde. Der Zeitstempel für den Zugriff kann mit dem -a
(Zugriff) Flag des touch
-Befehls geändert werden.
Syntax
touch -a [OPTIONEN] DATEI
Optionen
- -a [ZEIT] : Ändert den Zugriffsstempel auf die angegebene Zeit.
-
-t ZEIT: Legt den Zugriffsstempel auf die angegebene Zeit fest. Dieses ist ein alternativer Syntax für
-a
.
Beispiele
Um den Zugriffsstempel von file.txt
auf den 25. Oktober 2023 um 16:30 Uhr zu ändern, kannst du Folgendes ausführen:
touch -a "2023-10-25 16:30" file.txt
Du kannst auch die relative Zeitangabe verwenden, um den Zugriffsstempel anzupassen:
touch -a +1hour file.txt
Dadurch wird der Zugriffsstempel um eine Stunde verschoben.
Anwendungsfälle
Das Ändern des Zugriffsstempels kann für folgende Zwecke nützlich sein:
- Aktualisierung des Zugriffsstempels, um anzuzeigen, dass auf die Datei kürzlich zugegriffen wurde.
- Synchronisierung von Zugriffsstempeln mit anderen Systemen, die den Zugriffsstempel verwenden, um kürzlich verwendete Dateien zu identifizieren.
- Erstellen von benutzerdefinierten Skripten oder Programmen, die sich auf den Zugriffsstempel verlassen.
Ändern des Änderungstimpels
Der Änderungszeitstempel gibt an, wann der Inhalt einer Datei zuletzt geändert wurde. Mit dem touch
-Befehl kannst du diesen Zeitstempel aktualisieren, ohne den Inhalt der Datei zu verändern.
Ändern des Änderungstimpels auf die aktuelle Zeit
Um den Änderungszeitstempel auf die aktuelle Uhrzeit zu ändern, verwendest du folgende Syntax:
touch -m DATEI
Dabei ist DATEI
der Name der Datei, deren Änderungszeitstempel du ändern möchtest.
Ändern des Änderungstimpels auf eine bestimmte Zeit
Du kannst den Änderungszeitstempel auch auf eine bestimmte Zeit einstellen. Hierfür verwendest du die Option -t
:
touch -t JJJJMMTTmmSS DATEI
Dabei stehen folgende Platzhalter für die entsprechenden Werte:
-
JJJJ
für das Jahr (z.B. 2023) -
MM
für den Monat (z.B. 03) -
TT
für den Tag (z.B. 08) -
mm
für die Minuten (z.B. 30) -
SS
für die Sekunden (z.B. 00)
Beispiel
Nehmen wir an, du möchtest den Änderungszeitstempel der Datei myfile.txt
auf den 8. März 2023 um 14:30 Uhr ändern. Dann verwendest du folgenden Befehl:
touch -t 20230308143000 myfile.txt
Erstellen mehrerer Dateien
Mit dem touch
-Befehl kannst du auch mehrere Dateien gleichzeitig erstellen. Dies ist nützlich, wenn du eine Reihe von leeren Dateien für einen bestimmten Zweck erstellen musst.
Verwendung des Platzhalters *
Um mehrere Dateien mit einem ähnlichen Namen zu erstellen, kannst du den Platzhalter *
verwenden. Beispielsweise erstellt der folgende Befehl fünf leere Dateien mit den Namen file1.txt
, file2.txt
, file3.txt
, file4.txt
und file5.txt
:
touch file*.txt
Verwendung einer Liste von Dateinamen
Alternativ kannst du eine Liste von Dateinamen angeben, die du erstellen möchtest. Trenne die Dateinamen durch Leerzeichen. Beispielsweise erstellt der folgende Befehl drei leere Dateien mit den Namen myfile1.txt
, myfile2.txt
und myfile3.txt
:
touch myfile1.txt myfile2.txt myfile3.txt
Erstellen von versteckten Dateien
Um eine versteckte Datei zu erstellen, füge ein führendes .
vor den Dateinamen. Beispielsweise erstellt der folgende Befehl eine versteckte Datei namens .hiddenfile.txt
:
touch .hiddenfile.txt
Ändern des Datums und der Uhrzeit
Der touch
-Befehl ermöglicht es dir nicht nur, Dateien zu erstellen, sondern auch Zeitstempel zu ändern. Dabei kannst du sowohl das Erstellungs- als auch das Änderungsdatum sowie die Zugriffszeit festlegen.
So änderst du das Erstellungsdatum
Um das Erstellungsdatum einer Datei zu ändern, verwende die Option -c
. Diese Option weist den touch
-Befehl an, das Erstellungsdatum auf das angegebene Datum zu setzen, ohne die anderen Zeitstempel der Datei zu berühren.
touch -c 2023-03-08 datei.txt
So änderst du das Änderungsdatum
Das Änderungsdatum einer Datei kannst du mit der Option -m
ändern. Diese Option weist den touch
-Befehl an, das Änderungsdatum auf das angegebene Datum zu setzen, ohne die anderen Zeitstempel der Datei zu berühren.
touch -m 2023-03-08 datei.txt
So änderst du das Zugriffsdatum
Das Zugriffsdatum einer Datei kannst du mit der Option -a
ändern. Diese Option weist den touch
-Befehl an, das Zugriffsdatum auf das angegebene Datum zu setzen, ohne die anderen Zeitstempel der Datei zu berühren.
touch -a 2023-03-08 datei.txt
Festlegen einer benutzerdefinierten Uhrzeit
Du kannst auch eine benutzerdefinierte Uhrzeit zusammen mit dem Datum angeben, indem du das Format JJJJ-MM-TT hh:mm:ss
verwendest. Dabei steht JJJJ
für das Jahr, MM
für den Monat, TT
für den Tag, hh
für die Stunde, mm
für die Minute und ss
für die Sekunde.
touch -c 2023-03-08 14:30:00 datei.txt
Wenn du nur die Uhrzeit ändern möchtest, ohne das Datum zu berühren, kannst du die Option -t
verwenden. Diese Option ermöglicht es dir, eine benutzerdefinierte Uhrzeit im Format hh:mm:ss
anzugeben.
touch -t 14:30:00 datei.txt
Zusätzliche Optionen des touch-Befehls
Neben den grundlegenden Funktionen bietet der touch-Befehl eine Reihe von erweiterten Optionen, mit denen du die Interaktion mit Dateien noch weiter anpassen kannst.
Festlegen des Zugriffstimpels (atime)
Mit der Option -a
kannst du den Zugriffsstempel einer Datei ändern. Dies gibt an, wann auf die Datei zuletzt zugegriffen wurde.
touch -a datei.txt
Festlegen des Änderungszeitpunkts (mtime)
Die Option -m
ermöglicht es dir, den Änderungszeitstempel einer Datei zu ändern. Dieser gibt an, wann die Datei zuletzt bearbeitet wurde.
touch -m datei.txt
Einstellen von Datum und Uhrzeit
Standardmäßig verwendet touch das aktuelle Datum und die aktuelle Uhrzeit. Mit der Option -d
kannst du jedoch ein bestimmtes Datum und eine bestimmte Uhrzeit angeben.
touch -d '2023-03-08 14:30' datei.txt
Referenzdatei verwenden
Mit der Option -r
kannst du eine Referenzdatei verwenden, um die Zeitstempel einer anderen Datei zu ändern. Die Zeitstempel der Referenzdatei werden auf die angegebene Datei angewendet.
touch -r referenzdatei.txt datei.txt
Relative Zeitstempelangaben
Die Option -t
ermöglicht es dir, relative Zeitstempelangaben zu verwenden. Du kannst beispielsweise angeben, dass die Datei vor 10 Minuten bearbeitet wurde:
touch -t -10 datei.txt
Weitere Optionen
Zusätzlich zu den oben aufgeführten Optionen gibt es noch einige weitere nützliche Optionen, die du mit dem touch-Befehl verwenden kannst:
-
-c
: Erstelle die Datei nur, wenn sie nicht existiert. -
-f
: Erzwinge die Änderung der Zeitstempel, auch wenn die Datei schreibgeschützt ist. -
-h
: Zeige eine Hilfemeldung an.
Anwendungsfälle für den touch-Befehl
Du kannst den touch-Befehl in verschiedenen Szenarien anwenden, darunter:
Zurücksetzen von Zugriffszeitstempeln
Problem: Der Zugriffszeitstempel einer Datei zeigt an, wann sie zuletzt gelesen wurde. Dies kann ein Datenschutzproblem darstellen, wenn du sensible Dateien hast.
Lösung: Verwende den touch-Befehl, um den Zugriffszeitstempel zurückzusetzen:
touch -a /pfad/zur/datei
Fehlerbehebung bei Dateisystemproblemen
Problem: Du siehst die Fehlermeldung, dass eine Datei "keine solche Datei oder kein solches Verzeichnis" enthält, obwohl die Datei tatsächlich vorhanden ist.
Lösung: Verwende den touch-Befehl, um die Datei neu zu erstellen und das Dateisystem zu aktualisieren:
touch /pfad/zur/datei
Erstellen von leeren Dateien
Problem: Du benötigst eine leere Datei, aber du möchtest sie nicht mit einem Texteditor oder über die Befehlszeile erstellen.
Lösung: Verwende den touch-Befehl, um eine leere Datei zu erstellen:
touch /pfad/zur/datei
Synchronisieren von Zeitstempeln
Problem: Du hast mehrere Dateien, deren Zeitstempel du synchronisieren musst.
Lösung: Mit der Option -d
des touch-Befehls kannst du mehrere Dateien mit demselben Zeitstempel versehen:
touch -d '2023-01-01 00:00:00' /pfad/zur/datei1 /pfad/zur/datei2
Ändern der Dateirechte
Problem: Du möchtest die Dateirechte einer Datei ändern, aber die Befehle chmod
oder chown
schlagen fehl.
Lösung: Du kannst den touch-Befehl verwenden, um die Dateiberechtigungen zu aktualisieren:
touch -t 202301010000 /pfad/zur/datei
Diese Methode behebt möglicherweise Probleme mit Dateirechten, die durch beschädigte Metadaten verursacht werden.