Articles

Linux touch command tutorial for beginners (6 examples)

Posted on

Manchmal möchte man bei der Arbeit auf der Kommandozeile in Linux eine neue Datei erstellen. Oder es kann vorkommen, dass die Anforderung besteht, die Zeitstempel einer Datei zu ändern. Nun, es gibt ein Dienstprogramm, das Sie in diesen beiden Szenarien verwenden können. Das fragliche Tool ist touch, und in diesem Tutorial werden wir seine grundlegende Funktionalität anhand von leicht verständlichen Beispielen verstehen.

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

Nachfolgend finden Sie die allgemeine Syntax des Befehls:

touch ... FILE...

Und so erklärt die Manpage 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 eine bessere Vorstellung davon, wie das Tool funktioniert.

Wie man die Zugriffs-/Änderungszeit mit dem Touch-Befehl ändert

Dies ist einfach und ziemlich geradlinig. Nehmen wir eine bestehende Datei als Beispiel. 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.

Nur Zugriffs- oder Änderungszeit ändern

Standardmäßig ändert der Touch-Befehl sowohl die Zugriffs- als auch die Änderungszeit der Eingabedatei. Wenn Sie möchten, können Sie dieses Verhalten jedoch auf einen der beiden Zeitstempel beschränken. Das bedeutet, dass Sie entweder den Zugriffszeitpunkt oder den Änderungszeitpunkt ändern lassen können.

Wenn Sie nur den Zugriffszeitpunkt ändern wollen, verwenden Sie die Befehlszeilenoption -a.

touch -a 

Gleichermaßen, wenn die Anforderung ist, nur den Änderungszeitpunkt zu ändern, verwenden Sie die Befehlszeilenoption -m.

touch -m 

Wie Sie touch dazu bringen, Zugriffs-/Änderungszeiten einer bestehenden Datei zu verwenden

Wenn Sie möchten, können Sie den touch-Befehl auch dazu zwingen, Zugriffs- und Änderungszeitstempel aus einer Referenzdatei zu übernehmen. Nehmen wir zum Beispiel an, wir wollen die Zeitstempel für die Datei „apl.c“ ändern. Hier sind die aktuellen Zeitstempel für diese Datei:

Und dies ist die Datei, die touch als Referenz verwenden soll:

Damit touch nun die Zeitstempel von ‚apl‘ für ‚apl.c‘ zu verwenden, müssen Sie die Kommandozeilenoption -r folgendermaßen verwenden:

touch apl.c -r apl

Der obige Screenshot zeigt, dass die Änderungs- und Zugriffszeitstempel für ‚apl.c‘ nun dieselben sind wie die für ‚apl.‘

Anlegen einer neuen Datei mit Touch

Das Anlegen einer neuen Datei ist ebenfalls sehr einfach. Es geschieht sogar automatisch, wenn der Dateiname, den Sie als Argument an den touch-Befehl übergeben, noch nicht existiert. Um zum Beispiel eine Datei mit dem Namen ’newfile‘ zu erstellen, müssen Sie nur den folgenden touch-Befehl ausführen:

touch newfile

So erzwingen Sie, dass touch keine neue Datei erstellt

Für den Fall, dass es eine strikte Anforderung gibt, dass der touch-Befehl keine neuen Dateien erstellen soll, können Sie die Option -c verwenden.

touch -c 

Der folgende Screenshot zeigt, dass der touch-Befehl die Datei nicht erstellt hat, da ’newfile12′ nicht existiert und wir die Kommandozeilenoption -c verwendet haben.

Wie touch bei symbolischen Links funktioniert

Wenn Sie dem touch-Befehl einen Dateinamen für einen symbolischen Link übergeben, wird standardmäßig die Änderung der Zugriffs- und Änderungszeitstempel für die Originaldatei (auf die der symbolische Link verweist) übernommen. Das Tool bietet jedoch auch eine Option (-h), mit der Sie dieses Verhalten außer Kraft setzen können.

Die Manpage erklärt die Option -h folgendermaßen:

-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 für die Originaldatei) ändern wollen, verwenden Sie den touch-Befehl auf folgende Weise:

touch -h 

Fazit

Wie Sie sicher bestätigen werden, ist der Befehl touch nicht schwer zu verstehen und anzuwenden. Die Beispiele/Optionen, die wir in diesem Tutorial besprochen haben, sollten ausreichen, um den Einstieg in das Tool zu finden. Während Neulinge das Tool hauptsächlich zum Erstellen neuer Dateien verwenden werden, können erfahrene Benutzer es auch für viele andere Zwecke einsetzen. Weitere Informationen zum Touch-Befehl finden Sie auf seiner Manpage.

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.