• Allgemein
  • Linux Touch-Befehl: Erstellen, Ändern und Zugreifen auf Dateien

Linux Touch-Befehl: Erstellen, Ändern und Zugreifen auf Dateien

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 Format MMTTJJJJhhmm
  • -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.