GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux Touch-Befehl

Der Touch-Befehl ermöglicht es uns, die Zeitstempel vorhandener Dateien und Verzeichnisse zu aktualisieren sowie neue, leere Dateien zu erstellen.

In dieser Anleitung zeigen wir Ihnen anhand praktischer Beispiele und detaillierter Erklärungen der gängigsten Befehlsoptionen, wie Sie den Touch-Befehl verwenden.

Linux-Datei-Zeitstempel #

Bevor wir uns mit der Verwendung des Touch-Befehls befassen, beginnen wir mit der Überprüfung der Dateizeitstempel in Linux.

Eine Datei unter Linux hat drei Zeitstempel:

  • atime (Zugriffszeit) – Die letzte Zeit, zu der auf die Datei von einem Befehl oder einer Anwendung wie cat, vim oder grep zugegriffen/geöffnet wurde.
  • mtime (Änderungszeit) – Der letzte Zeitpunkt, zu dem der Inhalt der Datei geändert wurde.
  • ctime (Änderungszeit) – Die letzte Zeit, zu der das Attribut oder der Inhalt der Datei geändert wurde. Das Attribut umfasst Dateiberechtigungen, Dateibesitz oder Dateispeicherort.

Um den Dateistatus einschließlich der Zeitstempel anzuzeigen, verwenden Sie die stat Befehl.

stat file_name

Das Erstellen einer neuen Datei erfordert Schreibberechtigungen für das übergeordnete Verzeichnis. Andernfalls erhalten Sie eine Fehlermeldung zur Verweigerung der Berechtigung.

So verwenden Sie den Touch-Befehl #

In seiner einfachsten Form, wenn es ohne Optionen verwendet wird, erstellt touch eine neue Datei, wenn der als Argument angegebene Dateiname nicht existiert.

Wenn die Datei bereits vorhanden ist, ändert touch die letzten Zugriffs- und Änderungszeiten der Datei auf die aktuelle Zeit.

Wenn beispielsweise die Datei file1 existiert nicht, wird der folgende Befehl sie erstellen, andernfalls werden ihre Zeitstempel geändert:

touch file1

Um mehrere Dateien gleichzeitig zu erstellen oder zu ändern, geben Sie die Dateinamen als Argumente an:

touch file1 file2 file3

Wenn Sie nicht möchten, dass der Touch-Befehl neue Dateien erstellt, verwenden Sie den -c (--no-create )-Option.

Wenn beispielsweise die Datei file1 existiert, wird der folgende Befehl die Dateizeitstempel ändern, andernfalls wird er nichts tun:

touch -c file1

Nur Zugriffs- oder Änderungszeiten ändern #

Wenn keine Option verwendet wird, aktualisiert touch standardmäßig die letzten Zugriffs- und Änderungszeiten der Datei auf die aktuelle Zeit. Durch die Verwendung des -a und -m Optionen können Sie nur einen dieser Zeitstempel ändern.

Ändere nur die Zugriffszeit #

Verwenden Sie den -a Option, um nur die Zugriffszeit der Datei zu ändern:

touch -a file1

Ändere nur die Änderungszeit #

Verwenden Sie das -m Option zum Ändern der Änderungszeit der Datei:

touch -m file1

Beim Ändern der Änderungszeit wird die Änderungszeit ebenfalls aktualisiert.

Festlegen bestimmter Zeitstempel #

Der Touch-Befehl ermöglicht es uns auch, eine Datei mit einer anderen Uhrzeit als der aktuellen Uhrzeit zu aktualisieren oder zu erstellen.

Verwenden Sie das -d (--date= ) Option, um eine Datumszeichenfolge anzugeben und diese anstelle der aktuellen Uhrzeit zu verwenden.

Zum Beispiel, um sowohl die letzten Zugriffs- als auch die Änderungszeiten von file1 zu ändern bis 1. Juni 2018 11:02 würden Sie den folgenden Befehl verwenden:

touch -d '1 June 2018 11:02' file1

Die Datumszeichenfolge muss in einfache Anführungszeichen gesetzt werden.

Sie können dem Touch-Befehl auch einen Teil einer Datums-Uhrzeit-Zeichenfolge zuweisen. Wenn Sie nur das Datum angeben, wird das Jahr automatisch auf das aktuelle Jahr geändert:

touch -d '12 June' file1

Verwenden Sie das -t Option, einen Zeitstempel anzugeben und ihn anstelle der aktuellen Zeit zu verwenden. Das timestamp-Argument muss folgendes Format haben:

use [[CC]YY]MMDDhhmm[.ss]

Beispielsweise setzt der folgende Befehl die letzten Zugriffs- und Änderungszeiten von file1 bis 1. Juni 11:02 des laufenden Jahres.

touch -t 06011102 file1

Verwendung des Zeitstempels einer anderen Datei #

Das -r (--reference= ) ermöglicht es uns, eine Referenzdatei anzugeben und ihre Zeitstempel anstelle der aktuellen Zeit zu verwenden.

Beispielsweise weist der folgende Befehl touch an, die Zeiten von file1 zu verwenden für file2 :

touch -r file1 file2

Wenn Sie einen Touch-Befehl auf einem symbolischen Link verwenden, ändert dieser standardmäßig die Zeitstempel der referenzierten Datei.

Verwenden Sie das -h (--no-dereference ), um den Zeitstempel des Symlinks zu ändern.

Zum Beispiel, um die Zeitstempel des symbolischen Links symlink1 zu ändern Sie würden verwenden:

touch -h symlink1

Schlussfolgerung #

Inzwischen sollten Sie ein gutes Verständnis für die Verwendung des Touch-Befehls von Linux haben.


Linux
  1. Linux-wc-Befehl

  2. Linux grep-Befehl

  3. ln-Befehlsbeispiele in Linux

  4. file Befehlsbeispiele in Linux

  5. touch-Befehlsbeispiele in Linux

Gunzip-Befehl unter Linux

Stat-Befehl unter Linux

Touch-Befehl in Linux (5 Beispiele)

Beispiele für Linux Touch-Befehle

Truncate-Befehl unter Linux

9 Nützliche Beispiele für Touch-Befehle unter Linux