Linux Touch Befehl Tutorial für Anfänger (6 Beispiele)
Wenn du in der Kommandozeile von Linux arbeitest, möchtest du vielleicht eine neue Datei erstellen. Oder es kann vorkommen, dass du die Zeitstempel einer Datei ändern musst. Es gibt ein Dienstprogramm, das du in beiden Fällen verwenden kannst. Das fragliche Tool heißt Touch und in diesem Lernprogramm werden wir seine grundlegenden Funktionen anhand von leicht verständlichen Beispielen verstehen.
Bitte beachte, dass alle Beispiele, die wir hier verwenden, auf einem Ubuntu 22.04 Rechner getestet wurden.
Linux Touch Befehl
Der Touch-Befehl wird in erster Linie zum Ändern von Datei-Zeitstempeln verwendet, aber wenn die Datei (deren Name als Argument übergeben wird) nicht existiert, dann erstellt das Tool sie.
Es folgt die generische Syntax des Befehls:
touch [OPTION]... FILE...
Und so erklärt die Manualseite diesen Befehl:
DESCRIPTION Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is supplied. A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.
Die folgenden Beispiele vom Typ Q&A geben Ihnen einen besseren Eindruck davon, wie das Tool funktioniert.
1. Wie man die Zugriffs-/Änderungszeit per Touch-Befehl ändert
Das ist einfach und ziemlich einfach. Nehmen wir als Beispiel eine vorhandene Datei. Der folgende Screenshot zeigt die Zugriffs- und Änderungszeiten für eine Datei namens’apl.c.‘.
So können Sie mit dem Touch-Befehl die Zugriffs- und Änderungszeiten der Datei ändern:
touch apl.c
Der folgende Screenshot bestätigt die Änderung dieser Zeitstempel.
2. So ändern Sie nur die Zugriffs- oder Änderungszeit
Standardmäßig ändert der Touch-Befehl sowohl die Zugriffs- als auch die Änderungszeiten der Eingabedatei. Wenn Sie möchten, können Sie dieses Verhalten jedoch auf einen dieser Zeitstempel beschränken. Das bedeutet, dass Sie entweder die Zugriffszeit ändern oder den Änderungszeitstempel ändern lassen können.
Wenn Sie nur die Zugriffszeit ändern möchten, verwenden Sie die Kommandozeilenoption -a.
touch -a [filename]
Wenn die Anforderung darin besteht, nur die Änderungszeit zu ändern, verwenden Sie die Befehlszeilenoption -m.
touch -m [filename]
3. Wie man die Zugriffs-/Änderungszeiten einer bestehenden Datei per Touch nutzt.
Wenn Sie möchten, können Sie auch den Touch-Befehl erzwingen, um Zugriffs- und Änderungszeitstempel aus einer Referenzdatei zu kopieren. Angenommen, wir wollen beispielsweise die Zeitstempel für die Datei’apl.c‘ ändern. Hier sind die aktuellen Zeitstempel für diese Datei:
Und das ist die Datei, die Sie als Referenz verwenden möchten:
Damit touch nun die Zeitstempel von ‚apl‘ für ‚apl.c‘ verwenden kann, müssen Sie die Befehlszeilenoption -r wie folgt verwenden:
touch apl.c -r apl
Der obige Screenshot zeigt, dass die Änderungs- und Zugriffszeitstempel für ‚apl.c‘ nun identisch sind mit denen für ‚apl.‘.
4. So erstellen Sie eine neue Datei mit Touchscreen
Das Erstellen einer neuen Datei ist ebenfalls sehr einfach. Tatsächlich geschieht es automatisch, wenn der Dateiname, den Sie als Argument an den Touch-Befehl übergeben, nicht existiert. Um beispielsweise eine Datei mit dem Namen „newfile“ zu erstellen, müssen Sie lediglich den folgenden Touch-Befehl ausführen:
touch newfile
5. So erzwingen Sie das Berühren, um keine neue Datei zu erstellen
Für den Fall, dass es eine strenge Anforderung gibt, dass der Touch-Befehl keine neuen Dateien erstellen sollte, können Sie die Option -c verwenden.
touch -c [filename]
Der folgende Screenshot zeigt, dass, da ’newfile12′ nicht existierte und wir die Kommandozeilenoption -c verwendet haben, der Touch-Befehl die Datei nicht erstellt hat.
6. Wie Touch funktioniert bei symbolischen Links?
Wenn Sie dem Touch-Befehl standardmäßig einen symbolischen Link-Dateinamen übergeben, gilt die Änderung der Zugriffs- und Änderungszeitstempel für die Originaldatei (auf die sich der symbolische Link bezieht). Das Tool bietet jedoch auch eine Option (-h), mit der Sie dieses Verhalten überschreiben können.
So erklärt die Man Page die Option -h:
-h, --no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink)
Wenn Sie also die Änderungs- und Zugriffszeitstempel für den symbolischen Link (und nicht die Originaldatei) ändern möchten, verwenden Sie den Touch-Befehl wie folgt:
touch -h [sym link file name]
Fazit
Wie Sie sicher wissen, ist Berühren kein schwer zu verstehender und zu benutzender Befehl. Die Beispiele/Optionen, die wir in diesem Tutorial besprochen haben, sollten ausreichen, um Ihnen den Einstieg in das Tool zu erleichtern. Während Neulinge meist das Dienstprogramm zum Erstellen neuer Dateien verwenden, spielen erfahrenere Benutzer auch für mehrere andere Zwecke damit. Weitere Informationen zum Touch-Befehl findest du auf der Manpage des Touch-Befehls.