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

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

Touch-Befehl in Linux

Der Touch-Befehl in Linux wird zum Ändern von Dateizeitstempeln verwendet, aber eine der häufigsten Verwendungen des Touch-Befehls ist das Erstellen einer neuen leeren Datei.

Mit dem Touch-Befehl können Sie den Zugriff ändern, die Zeit von Dateien und Ordnern in Linux ändern und ändern. Sie können die Zeitstempel aktualisieren oder auf ein Datum in der Vergangenheit ändern.

Die Syntax für Touch-Befehle ist recht einfach:

touch [option] file

Was sind nochmal Dateizeitstempel in Linux?

Ich habe in einem früheren Artikel ausführlich über Zeitstempel in Linux geschrieben. Ich würde empfehlen, es für ein besseres und klareres Verständnis zu lesen. Zur schnellen Erinnerung liste ich die Zeitstempel hier auf:

  • Zugriffszeit – letzter Zeitpunkt, zu dem auf eine Datei zugegriffen wurde
  • Änderungszeit – letzter Zeitpunkt, zu dem eine Datei geändert wurde
  • Änderungszeit – letzter Zeitpunkt, an dem Dateimetadaten (Dateiberechtigung, Eigentum usw.) geändert wurden

Sie können die Zeitstempel einer Datei mit dem stat-Befehl auf folgende Weise anzeigen:

stat abhi.txt 
  File: abhi.txt
  Size: 10        	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11940163    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 14:12:24.476483367 +0530
Modify: 2018-09-02 14:12:24.476483367 +0530
Change: 2018-09-02 14:12:24.476483367 +0530
 Birth: -

Der Stat-Befehl zeigt sogar die Inode-Nummer der Datei an.

9 Praktische Beispiele des Berührungsbefehls unter Linux

Sehen wir uns nun anhand einiger einfacher, aber nützlicher Beispiele an, wie der Touch-Befehl verwendet wird.

1. Erstellen Sie eine leere  Datei

Wie ich bereits erwähnt habe, ist dies die häufigste Verwendung von Touch-Befehlen. Alles, was Sie tun müssen, ist, touch mit dem Dateinamen zu verwenden.

touch <filename>

Dadurch wird eine leere Datei erstellt, wenn die Datei nicht existiert.

touch empty_file
ls -l empty_file 
-rw-r--r-- 1 abhishek abhishek 0 Sep  2 14:37 empty_file

Was aber, wenn die Datei bereits existiert? In diesem Fall werden alle drei Zeitstempel der Datei auf die aktuelle Zeit aktualisiert.

2. Erstellen Sie mehrere leere Dateien

Sie können Touch auch verwenden, um mehr als eine leere Datei zu erstellen. Geben Sie einfach die Namen der Dateien an, die Sie erstellen möchten.

touch <file1> <file2> <file3>

Wenn Sie denken, dass es ermüdend ist, alle Dateinamen zu schreiben, können Sie Dateinamen auf diese Weise automatisch generieren:

touch new-file-{1..10}.txt

Dadurch werden neue-Datei-1.txt, neue-Datei-2.txt bis neue-Datei-10.txt erstellt.

3. Vermeiden Sie es, eine Datei mit Touch zu erstellen, wenn sie nicht existiert

Touch aktualisiert die Zeitstempel der Eingabedatei, falls vorhanden, und erstellt eine leere Datei, wenn die Eingabedatei nicht vorhanden ist.

Aber was ist, wenn Sie nicht möchten, dass Touch eine neue leere Datei erstellt? Sie möchten, dass die Zeitstempel der Datei aktualisiert werden, aber wenn die Datei nicht existiert, sollte sie nicht erstellt werden.

In solchen Fällen können Sie den Touch-Befehl mit der Option -c verwenden:

touch -c <filename>
Denken Sie daran :Berühren erstellt eine neue leere Datei, wenn sie nicht existiert, andernfalls werden die Zeitstempel der vorhandenen Datei geändert. Sie können die Erstellung einer neuen Datei mit der Option -c stoppen.

4. Alle Zeitstempel einer Datei ändern

Wenn Sie eine vorhandene Datei berühren, ändert sich der Zugriff, die Änderung und die Uhrzeit dieser Datei.

Zum Beispiel habe ich diese Datei namens sherlock.txt mit den folgenden Zeitstempeln:

stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-08-25 09:44:56.092937000 +0530
Modify: 2018-08-09 09:41:05.028309000 +0530
Change: 2018-08-25 09:44:56.096937182 +0530

Wenn ich bei diesem Befehl touch verwende, werden alle Zeitstempel auf die aktuellen Zeitstempel geändert.

touch sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:22:47.017037942 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:22:47.017037942 +0530
 Birth: -

Hinweis:Sie sollten sich nicht mit ctime (Zeit ändern) beschäftigen. Es ist eine Systemeigenschaft und kann/sollte nicht vom Benutzer kontrolliert werden. Ihr Fokus sollte auf der Zugriffs- und Änderungszeit liegen.

5. Nur Zugriffszeit der Datei aktualisieren

Möglicherweise möchten Sie nicht immer alle Zeitstempel einer Datei ändern. Wenn Sie nur die Zugriffszeit einer Datei ändern möchten, können Sie die Option -a mit touch verwenden.

touch -a sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:22:47.017037942 +0530
Change: 2018-09-02 15:29:08.796926093 +0530
 Birth: -

6. Nur Änderungszeit der Datei aktualisieren

Wenn Sie nur die Änderungszeit einer Datei auf den aktuellen Zeitstempel aktualisieren möchten, verwenden Sie die Option -m des Touch-Befehls.

touch -m sherlock.txt 
stat sherlock.txt 
  File: sherlock.txt
  Size: 356       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928277    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-09-02 15:29:08.796926093 +0530
Modify: 2018-09-02 15:31:25.770866881 +0530
Change: 2018-09-02 15:31:25.770866881 +0530
 Birth: -

7. Zeitstempel einer anderen Datei verwenden

Sie können auch die Zeitstempel einer anderen Datei mit der Option -r auf folgende Weise als Referenz verwenden:

touch -r <source_file> <target_file>

Dadurch wird die Zugriffs- und Änderungszeit der Zieldatei auf die Zugriffs- und Änderungszeit der Quelldatei eingestellt.

8. Legen Sie eine bestimmte Zugriffs- und Änderungszeit fest

Sie haben vielleicht bemerkt, dass in fast allen Fällen (mit Ausnahme der Referenzdatei) die Zeitstempel auf den aktuellen Zeitstempel geändert werden.

Daran sind Sie aber nicht gebunden. Mit Touch können Sie die Zugriffs- und Änderungszeit auf ein vergangenes oder zukünftiges Datum festlegen. Sie können die Option -t und einen Zeitstempel im folgenden Format verwenden:

[[CC]YY]MMDDhhmm[.ss]

  • CC – Die ersten beiden Ziffern eines Jahres
  • YY – Die zweiten beiden Ziffern eines Jahres
  • MM – Monat des Jahres (01-12)
  • DD – Tag des Monats (01-31)
  • hh – Stunde des Tages (00-23)
  • mm – Minute der Stunde (00-59)
  • ss – Sekunden (00-59)

Im obigen Fall ist CC optional. Tatsächlich ist CCYY auch optional, in diesem Fall wird das aktuelle Jahr verwendet. Ebenso sind Sekunden ebenfalls optional, sie sind standardmäßig 00.

Lassen Sie mich Ihnen ein Beispiel zeigen, indem ich den Zeitstempel auf 12021301 ändere, d. h. 12. Monat, zweiter Tag, 13. Stunde und erste Minute des aktuellen Jahres:

touch -t 12021301 agatha.txt 
stat agatha.txt 
  File: agatha.txt
  Size: 457       	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 11928279    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/abhishek)   Gid: ( 1000/abhishek)
Access: 2018-12-02 13:01:00.000000000 +0530
Modify: 2018-12-02 13:01:00.000000000 +0530
Change: 2018-09-02 15:59:47.588680901 +0530
 Birth: -

Wenn Sie versuchen, ein ungültiges Datum einzugeben, wird eine Fehlermeldung angezeigt. Sie werden auch feststellen, dass die Änderungszeit den aktuellen Zeitstempel verwendet, nicht dasselbe wie Zugriff und Änderung. Das liegt daran, dass es sich um eine Systemeigenschaft handelt.

Sie können den Touch-Befehl auch mit symbolischen Links verwenden. Sie müssen nur die Option -h verwenden, wenn Sie mit symbolischen Links arbeiten. Der Rest bleibt derselbe wie die regulären Dateien.

touch -h <symbolic_link>

Ich hoffe, Sie finden diese Touch-Befehlsbeispiele in Linux hilfreich. Wenn Sie Fragen oder Anregungen haben, lassen Sie es mich wissen.


Linux
  1. mv-Befehl unter Linux:7 wesentliche Beispiele

  2. 9 Nützliche Beispiele für den Split-Befehl in Linux

  3. ln-Befehlsbeispiele in Linux

  4. file Befehlsbeispiele in Linux

  5. touch-Befehlsbeispiele in Linux

Linux-WC-Befehl mit Beispielen

Beispiele für Linux Touch-Befehle

15 Nützliche Beispiele für Touch-Befehle im Linux-System

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

Linux cat-Befehlsbeispiele

Linux gzip-Befehlsbeispiele