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

9 Nützliche Touch-Befehlsbeispiele in Linux

Der Touch-Befehl wird zum Erstellen leerer Dateien verwendet und ändert auch die Zeitstempel vorhandener Dateien auf Unix- und Linux-Systemen. Das Ändern von Zeitstempeln bedeutet hier, die Zugriffs- und Änderungszeit von Dateien und Verzeichnissen zu aktualisieren.

Werfen wir einen Blick auf die Syntax und die Optionen, die im Touch-Befehl verwendet werden,

Syntax :# Berühren Sie {Optionen} {Datei}

Im Touch-Befehl verwendete Optionen,

In diesem Artikel gehen wir durch 9 nützliche Touch-Befehlsbeispiele in Linux,

Beispiel:1 Erstellen Sie eine leere Datei mit Touch

Um eine leere Datei mit dem Touch-Befehl auf Linux-Systemen zu erstellen, geben Sie touch gefolgt vom Dateinamen ein, das Beispiel ist unten gezeigt,

[[email protected] ~]# touch devops.txt
[[email protected] ~]# ls -l devops.txt
-rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt
[[email protected] ~]#

Beispiel:2 Mehrere leere Dateien per Touch erstellen

Es kann ein Szenario geben, in dem wir viele leere Dateien für einige Tests erstellen müssen, dies kann einfach mit dem Touch-Befehl erreicht werden,

[[email protected] ~]# touch sysadm-{1..20}.txt

Im obigen Beispiel haben wir 20 leere Dateien mit den Namen sysadm-1.txt bis sysadm-20.txt erstellt, Sie können den Namen und die Nummern basierend auf Ihren Anforderungen ändern.

Beispiel:3 Zugriffszeit einer Datei und eines Verzeichnisses ändern/aktualisieren

Nehmen wir an, wir möchten die Zugriffszeit einer Datei namens „devops.txt“ ändern “, verwenden Sie dazu ‘-a ‘Option im Touch-Befehl, gefolgt vom Dateinamen, Beispiel ist unten gezeigt,

[[email protected] ~]# touch -a devops.txt
[[email protected] ~]#

Überprüfen Sie nun, ob die Zugriffszeit einer Datei aktualisiert wurde oder nicht, indem Sie den Befehl „stat“ verwenden

[[email protected] ~]# stat devops.txt
  File: ‘devops.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-29 23:03:10.902000000 -0400
Modify: 2018-03-29 22:39:29.365000000 -0400
Change: 2018-03-29 23:03:10.902000000 -0400
 Birth: -
[[email protected] ~]#

Zugriffszeit eines Verzeichnisses ändern ,

Nehmen wir an, wir haben einen „nfsshare“-Ordner unter /mnt, ändern wir die Zugriffszeit dieses Ordners mit dem folgenden Befehl,

[[email protected] ~]# touch -a /mnt/nfsshare/
[[email protected] ~]#
[[email protected] ~]# stat /mnt/nfsshare/
  File: ‘/mnt/nfsshare/’
  Size: 6               Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 2258        Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:mnt_t:s0
Access: 2018-03-29 23:34:38.095000000 -0400
Modify: 2018-03-03 10:42:45.194000000 -0500
Change: 2018-03-29 23:34:38.095000000 -0400
 Birth: -
[[email protected] ~]#

Beispiel:4 Zugriffszeit ändern, ohne neue Datei zu erstellen

Es kann Situationen geben, in denen wir die Zugriffszeit einer Datei ändern möchten, falls sie existiert, und das Erstellen der Datei vermeiden möchten. Mit ‘-c ‘-Option im Touch-Befehl können wir die Zugriffszeit einer Datei ändern, wenn sie existiert, und wir werden keine Datei erstellen, wenn sie nicht existiert.

[[email protected] ~]# touch -c sysadm-20.txt
[[email protected] ~]# touch -c winadm-20.txt
[[email protected] ~]# ls -l winadm-20.txt
ls: cannot access winadm-20.txt: No such file or directory
[[email protected] ~]#

Beispiel:5 Ändern Sie die Änderungszeit einer Datei und eines Verzeichnisses

Mit ‘-m ‘-Option im Touch-Befehl können wir die Änderungszeit einer Datei und eines Verzeichnisses ändern,

Lassen Sie uns die Änderungszeit einer Datei namens „devops.txt“ ändern,

[[email protected] ~]# touch -m devops.txt
[[email protected] ~]#

Überprüfen Sie nun, ob die Änderungszeit geändert wurde oder nicht, indem Sie den Befehl stat verwenden,

[[email protected] ~]# stat devops.txt
  File: ‘devops.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-29 23:03:10.902000000 -0400
Modify: 2018-03-29 23:59:49.106000000 -0400
Change: 2018-03-29 23:59:49.106000000 -0400
 Birth: -
[[email protected] ~]#

Ebenso können wir die Änderungszeit eines Verzeichnisses ändern,

[[email protected] ~]# touch -m /mnt/nfsshare/
[[email protected] ~]#

Beispiel:6 Zugriffs- und Änderungszeit auf einmal ändern

Verwenden Sie „-am ”-Option im Touch-Befehl, um den Zugriff und die Änderung zusammen oder auf einmal zu ändern, das Beispiel ist unten gezeigt,

[[email protected] ~]# touch -am devops.txt
[[email protected] ~]#

Überprüfen Sie die Zugriffs- und Änderungszeit mit stat,

[[email protected] ~]# stat devops.txt
  File: ‘devops.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324178    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-03-30 00:06:20.145000000 -0400
Modify: 2018-03-30 00:06:20.145000000 -0400
Change: 2018-03-30 00:06:20.145000000 -0400
 Birth: -
[[email protected] ~]#

Beispiel:7 Stellen Sie die Zugriffs- und Änderungszeit auf ein bestimmtes Datum und eine bestimmte Uhrzeit ein

Immer wenn wir die Zugriffs- und Änderungszeit einer Datei und eines Verzeichnisses mit dem Touch-Befehl ändern, wird die aktuelle Zeit als Zugriffs- und Änderungszeit dieser Datei oder dieses Verzeichnisses festgelegt,

Angenommen, wir möchten ein bestimmtes Datum und eine bestimmte Uhrzeit als Zugriffs- und Änderungszeit einer Datei festlegen. Dies kann mit den Optionen „-c“ und „-t“ im Touch-Befehl erreicht werden,

Datum und Uhrzeit können im Format {CCYY}MMDDhhmm.ss

angegeben werden

Wo:

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

Lassen Sie uns die Zugriffs- und Änderungszeit der devops.txt-Datei auf ein zukünftiges Datum und eine zukünftige Uhrzeit einstellen (2025-Jahr, 10. Monat, 19. Tag des Monats, 18. Stunde und 20. Minute)

[[email protected] ~]# touch -c -t 202510191820 devops.txt

Verwenden Sie den Befehl stat, um die Aktualisierungszugriffs- und Änderungszeit anzuzeigen,

Stellen Sie die Zugriffs- und Änderungszeit basierend auf der Datumszeichenfolge ein, verwenden Sie die Option „-d“ im Touch-Befehl und geben Sie dann die Datumszeichenfolge gefolgt vom Dateinamen an, das Beispiel ist unten gezeigt,

[[email protected] ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt
[[email protected] ~]#

Überprüfen Sie den Status mit dem Befehl stat,

[[email protected] ~]# stat sysadm-20.txt
  File: ‘sysadm-20.txt’
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 67324189    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2010-02-07 20:15:12.000000000 +0530
Modify: 2010-02-07 20:15:12.000000000 +0530
Change: 2018-03-30 10:23:31.584000000 +0530
 Birth: -
[[email protected] ~]#

Hinweis: Wenn wir in den obigen Befehlen nicht „-c“ angeben, erstellt der Touch-Befehl eine neue Datei, falls sie nicht auf dem System vorhanden ist, und setzt die Zeitstempel, was auch immer im Befehl erwähnt wird.

Beispiel:8 Setzen Sie die Zeitstempel auf eine Datei mit einer Referenzdatei (-r)

Im Touch-Befehl können wir eine Referenzdatei verwenden, um die Zeitstempel der Datei oder des Verzeichnisses festzulegen. Nehmen wir an, ich möchte die gleichen Zeitstempel der Datei „sysadm-20.txt“ in der Datei „devops.txt“ festlegen. Dies kann einfach mit der Option „-r“ in touch erreicht werden.

Syntax: # touch -r {Referenzdatei} aktuelle Datei

[[email protected] ~]# touch -r sysadm-20.txt devops.txt
[[email protected] ~]#

Beispiel:9 Zugriffs- und Änderungszeit auf Datei mit symbolischem Link ändern

Wenn wir versuchen, die Zeitstempel einer symbolischen Linkdatei mit dem Touch-Befehl zu ändern, werden standardmäßig nur die Zeitstempel der Originaldatei geändert. Falls Sie die Zeitstempel einer symbolischen Linkdatei ändern möchten, kann dies mit '-h' erreicht werden. Option im Touch-Befehl,

Syntax: # touch -h {Datei mit symbolischem Link}

[[email protected] opt]# ls -l /root/linuxgeeks.txt
lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt
[[email protected] ~]# touch -t 203010191820 -h linuxgeeks.txt
[[email protected] ~]# ls -l linuxgeeks.txt
lrwxrwxrwx. 1 root root 15 Oct 19  2030 linuxgeeks.txt -> linuxadmins.txt
[[email protected] ~]#

Das ist alles aus diesem Tutorial. Ich hoffe, diese Beispiele helfen Ihnen, den Touch-Befehl zu verstehen. Bitte teilen Sie uns Ihr wertvolles Feedback und Ihre Kommentare mit.

Lesen Sie mehr zu: 17 nützliche rsync (Remote Sync)-Befehlsbeispiele in Linux


Linux
  1. 12 nützliche Wget-Befehlsbeispiele unter Linux

  2. ls-Befehl unter Linux:17 nützliche Beispiele erklärt

  3. 10 praktische Beispiele für Touch-Befehle unter Linux

  4. 7 Beispiele für Linux-df-Befehle

  5. 8 Linux TR-Befehlsbeispiele

11 Nützliche Beispiele für Linux-Datumsbefehle

Nützliche Wget-Befehlsbeispiele im Linux-System

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

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

10 Nützliche Beispiele für den Sort-Befehl in Linux

12 Nützliche Beispiele für Linux-Datumsbefehle