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

So verwenden Sie den Touch-Befehl unter Linux

Einführung

Die touch Die Hauptfunktion des Befehls besteht darin, einen Zeitstempel zu ändern. Üblicherweise wird das Dienstprogramm zum Erstellen von Dateien verwendet, obwohl dies nicht seine Hauptfunktion ist. Das Terminalprogramm kann die Änderungs- und Zugriffszeit für jede beliebige Datei ändern. Die touch Der Befehl erstellt nur dann eine Datei, wenn die Datei noch nicht existiert.

Dieses Tutorial erklärt, wie man touch verwendet Befehl mit grundlegenden und erweiterten Optionen.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Zugriff auf die Befehlszeile/das Terminal.
  • Grundlegende Terminalbefehle wie ls .

Touch-Befehlssyntax

Die grundlegende Syntax für touch Befehl ist:

touch <options> <file or directory name>

Das Touch-Dienstprogramm funktioniert ohne Optionen oder mit mehreren Optionen für erweiterte Abfragen. Einige Optionen haben ein langes und ein kurzes Format. Wenn eine Option zusätzliche Informationen erfordert, sind die Daten sowohl für die Lang- als auch für die Kurzform obligatorisch.

Berühren Sie Befehlsoptionen

Nachfolgend finden Sie eine Referenztabelle für alle verfügbaren touch Befehlsoptionen:

Option Beschreibung
-a Ändert die Zugriffszeit.
-c
--no-create
Vermeidet das Erstellen einer neuen Datei.
-d=<string>
--date=<string>
Ändert einen Zeitstempel mit einer Datumszeichenfolge.
-f Keine Auswirkung. In älteren BSDs erzwingt die Option Änderungen.
-h
--no-dereference
Ändert den Zeitstempel eines symbolischen Links.
-m Ändert die Änderungszeit.
-r=<file>
--reference=<file>
Ändert einen Zeitstempel in den Zeitstempel der referenzierten Datei.
-t <stamp> Ändert einen Zeitstempel, wobei der Stempel das Datums-/Zeitformat ist.
--help Öffnet das Hilfemenü.
-v
--version
Druckt die Programmversion.

Linux-Touch-Beispiele

Bei der Arbeit mit Dateien unter Linux sind drei Zeitstempel zu beachten:

1. Zugriffszeit oder eine Zeit ändert sich, wenn ein Befehl den Inhalt der Datei liest, z. B. grep oder cat. Der ls -lu Befehl zeigt die atime für Dateien an.

2. Uhrzeit ändern oder ctime ändert sich, wenn sich die Eigenschaften einer Datei ändern, z. B. Dateien umbenennen, Dateiberechtigungen ändern oder die Datei verschieben. Der ls -lc Befehl zeigt die ctime für Dateien.

3. Änderungszeit oder mtime ändert sich, wenn sich der Inhalt einer Datei ändert. Der ls -l Befehl zeigt die mtime für Dateien.

Die folgenden Beispiele werden alle vom Terminal ausgeführt und demonstrieren die Verwendung von Linux touch Befehl mit verschiedenen Optionen und der zu erwartenden Ausgabe.

Datei erstellen

Die einfachste Art, den touch zu verwenden Befehl ist ohne Optionen:

touch <filename>

Wenn eine Datei nicht vorhanden ist, erstellt touch die Datei. Zum Beispiel, um eine Datei namens test zu erstellen , ausführen:

touch test

Verzeichnisinhalte auflisten, um die Datei mit dem Befehl ls anzuzeigen.

Wenn die Datei bereits vorhanden ist, berühren Sie, um den Zeitstempel auf die aktuelle Zeit zu ändern.

Der Dateiinhalt und die Berechtigungen bleiben unverändert.

Mehrere Dateien erstellen

Die touch Der Befehl kann auch mehrere Dateien erstellen. Listen Sie dazu die Dateinamen durch Leerzeichen getrennt auf:

touch <filename> <filename>

Zum Beispiel:

touch test1 test2

Eine nützliche Möglichkeit, touch anzuwenden besteht darin, große Stapel von Dateien zu erstellen. Fügen Sie dazu geschweifte Klammern hinzu und geben Sie zusätzlich zum Dateinamen das erste und letzte Element an:

touch <filename{<start>..<finish>}>

Um beispielsweise zehn Dateien mit angehängter Nummerierung zu erstellen, führen Sie Folgendes aus:

touch test{1..10}

Der Befehl funktioniert auch mit Buchstaben. Zum Beispiel:

touch test_{a..j}

Wichtig :Der Befehl kann keine Zahlen und Buchstaben kombinieren.

Speziellen Zeitstempel festlegen

Verwenden Sie die touch Befehl, um einen bestimmten Zeitstempel für eine vorhandene Datei festzulegen, zum Beispiel:

touch -t <timestamp> <filename>

Das Zeitstempelformat folgt einem bestimmten Muster:

[[CC]YY]MMDDhhmm[.ss]
  • CC - die ersten beiden Ziffern für ein Jahr
  • YY - die letzten beiden Ziffern für ein Jahr
  • MM - der Monat
  • DD - der Tag
  • hh - die Stunde
  • mm - das Protokoll
  • ss - die Sekunden

Die Ziffern in den eckigen Klammern sind optional. Bei Verwendung des zweistelligen Jahresformats YY einstellen zu jeder Zahl zwischen 0-68 nimmt automatisch CC an ist 20, während 69-99 CC voraussetzt ist 19.

Zum Beispiel, um den Zeitstempel für eine Datei namens test zu ändern bis Mitternacht des 1. Januar 1999 , ausführen:

touch -t 199901010000 test

Verwenden Sie den --full-time Option mit ls um Zeitstempeldetails anzuzeigen.

Dateizeitstempel mit Datumszeichenfolge festlegen

Die touch Befehl verwendet das -d Option zum Festlegen eines Zeitstempels mithilfe einer Datumszeichenfolge. Die Syntax lautet:

touch -d <string> <filename>

Die Datumszeichenfolge ist ein flexibles Zeitformat und akzeptiert viele verschiedene menschenlesbare Textformen. Einige Beispiele sind:

  • Kalenderdaten, z. B. 19 August 2020 .
  • Tageszeit, z. B. 9:27pm oder 8:02am .
  • Wochentage, wie Sunday , Monday usw.
  • Relative Zeit, z. B. 5 years ago , yesterday , next tuesday usw.

Ändern Sie beispielsweise den Zeitstempel mit -d Option auf tomorrow :

touch -d tomorrow test

Um eine vollständige Liste der möglichen String-Eingabeoptionen zu sehen, besuchen Sie die GNU-Dokumentation für Datumseingabeformate.

Zugriffszeit auf Aktuell ändern

Verwenden Sie den -a -Tag, um die Zugriffszeit einer Datei zu ändern. Die allgemeine Syntax lautet:

touch -a <filename>

Um beispielsweise die Zugriffszeit einer Datei anzuzeigen, führen Sie Folgendes aus:

ls -lu

Als nächstes ändern Sie die Zugriffszeit für die Datei namens test mit:

touch -a test

Zeigen Sie zuletzt die geänderte Zeit an, indem Sie Folgendes ausführen:

ls -lu

Die Zugriffszeit ändert sich zum aktuellen Zeitstempel.

Zugriffszeit explizit ändern

Ändern Sie die Zugriffszeit auf einen bestimmten Zeitstempel, indem Sie -a kombinieren und -t Optionen:

touch -at <timestamp> <filename>

Überprüfen Sie die Zugriffszeit für Dateien, bevor Sie sie ändern:

ls -lu

Ändern Sie die Zugriffszeit für die Datei test bis Mitternacht 1. Januar 1999 , indem Sie den Zeitstempel hinzufügen:

touch -at 9901010000 test

Überprüfen Sie abschließend die Zugriffszeit nach der Änderung:

ls -lu

Nach Ausführung des Befehls ändert sich die Zugriffszeit auf den mit -t eingestellten Wert -Tag.

Ändere die Änderungszeit in Aktuell

Die touch Der Befehl bietet eine Option zum Ändern der Änderungszeit. Die grundlegende Syntax ist:

touch -m <filename>

Überprüfen Sie beispielsweise die mtime der Datei, bevor Sie den Zeitstempel ändern:

ls -l

Ändern Sie als Nächstes die Änderungszeit für die Testdatei:

touch -m test

Überprüfen Sie zuletzt die mtime nach der Änderung:

ls -l

Das -m Option ändert die Änderungszeit standardmäßig auf den aktuellen Zeitstempel.

Ändere die Änderungszeit explizit

Kombinieren Sie das -m Option mit -t um den Änderungszeitstempel explizit anzugeben. Die allgemeine Syntax lautet:

touch -mt <timestamp> <filename>

Überprüfen Sie die mtime der Datei, bevor Sie sie ändern:

ls -l

Ändern Sie die Änderungszeit auf Mitternacht 1. Januar 1999 , indem Sie Folgendes ausführen:

touch -mt 9901010000 test

Überprüfen Sie abschließend noch einmal die Änderungszeit:

ls -l

Hinzufügen des -t Option aktualisiert die Änderungszeit auf einen bestimmten Wert.

Ändern Sie sowohl die Änderungs- als auch die Zugriffszeit

Das Touch-Dienstprogramm ermöglicht das Ändern der Änderungs- und Zugriffszeit mit einem einzigen Befehl. Führen Sie dazu Folgendes aus:

touch -am <filename>

Bevor Sie atime und mtime ändern, prüfen Sie dies mit:

ls -lu
ls -l

Ändern Sie als Nächstes beide Zeiten für den Test Datei auf den aktuellen Zeitstempel:

touch -am test

Prüfen Sie atime und mtime nach der Änderung:

ls -lu
ls -l

Die kombinierten Optionen ändern beide Male auf einmal auf die aktuelle Zeit. Kombinieren Sie weiter mit dem -t -Tag, um einen expliziten Zeitstempel anzugeben.

Vermeiden Sie das Erstellen einer neuen Datei

Standardmäßig generiert touch eine neue Datei, wenn sie nicht existiert. Bestimmte Situationen erfordern jedoch das Überschreiben dieser Funktionalität. Fügen Sie -c hinzu Option, um das Erstellen einer neuen Datei beim Aufrufen von touch zu vermeiden Befehl:

touch -c <filename>

Versuchen Sie beispielsweise, touch auszuführen mit dem -c Option mit einer nicht existierenden Datei:

touch -c new_test

Listen Sie den Inhalt des Verzeichnisses auf, um zu bestätigen, dass die Datei nicht vorhanden ist:

ls -l

Wenn die Datei andererseits existiert, wird touch Der Befehl führt die bereitgestellten Operationen wie gewohnt mit der vorhandenen Datei aus.

Zeitstempel mithilfe einer Referenzdatei festlegen

Die touch Der Befehl bietet eine nützliche Option, um den Zeitstempel einer Datei basierend auf dem Zeitstempel einer anderen Datei zu ändern.

Um eine solche Änderung durchzuführen, führen Sie Folgendes aus:

touch -r <reference file> <file>

Erstellen Sie beispielsweise eine neue Datei und referenzieren Sie den Zeitstempel eines vorhandenen Tests Datei:

touch -r test new_test

Überprüfen Sie den Zeitstempel für beide Dateien mit:

ls -l

Der new_test Datei erbt den Zeitstempel vom test Datei.

Zeitstempel mit einem symbolischen Link setzen

Die touch Der Befehl ermöglicht das Ändern des Zeitstempels für symbolische Links, ohne den Zeitstempel der referenzierten Datei zu ändern. Verwenden Sie das -h Option zum Ändern der Zeit für einen symbolischen Link:

touch -h <filename>

Überprüfen Sie beispielsweise die Uhrzeit für einen vorhandenen symbolischen Link, bevor Änderungen vorgenommen werden:

ls -l

Ändere den Zeitstempel für den symbolischen Link auf die aktuelle Zeit:

touch -h link

Überprüfen Sie abschließend noch einmal den Zeitstempel, um die Änderung zu bestätigen:

ls -l

Ohne das -h Option, die touch Befehl ändert nur den Test Zeitstempel der Datei.

Der Zeitstempel des symbolischen Links bleibt in diesem Fall unverändert.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Linux-Verlaufsbefehl

  4. So verwenden Sie den Tar-Befehl unter Linux

  5. Verwendung des Linux-Touch-Befehls + Beispiele

So verwenden Sie einen Dateibefehl unter Linux

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

Wie verwende ich den Gzip-Befehl unter Linux?

So verwenden Sie den Befehl lsof unter Linux