Linux Touch Befehl Tutorial für Anfänger (6 Beispiele)

Manchmal, während Sie auf der Kommandozeile unter Linux arbeiten, möchten Sie vielleicht eine neue Datei erstellen. Oder es kann Zeiten geben, in denen die Anforderung besteht, die Zeitstempel einer Datei zu ändern. Nun, es gibt ein Dienstprogramm, das Sie in beiden Szenarien verwenden können. Das betreffende Werkzeug ist Touch, und in diesem Tutorial werden wir seine grundlegende Funktionalität anhand leicht verständlicher Beispiele verstehen.

Bitte beachten Sie, dass alle Beispiele, die wir hier verwenden werden, auf einem Ubuntu 18.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.‘.

Zugriffs-/Änderungszeit über Touch-Befehl ändern

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.

Datei-Zeitstempel mit Touch-Befehl ändern

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:

Touch-Nutzung der Zugriffs-/Änderungszeiten der vorhandenen Datei

Und das ist die Datei, die Sie als Referenz verwenden möchten:

Dateistatus mit statischem Befehl überprüfen

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

tippen Sie hier, um die Zeitstempel anderer Dateien zu verwenden.

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.

erzwingen Sie die Berührung, um keine neue Datei zu erstellen.

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.

Das könnte Dich auch interessieren …