GNU/Linux >> Linux Esercitazione >  >> Linux

9 Esempi utili di comandi touch in Linux

Il comando Touch viene utilizzato per creare file vuoti e modifica anche i timestamp dei file esistenti su Unix e Linux System. Modificare i timestamp qui significa aggiornare l'ora di accesso e modifica di file e directory.

Diamo un'occhiata alla sintassi e alle opzioni utilizzate nel comando touch,

Sintassi :# tocca {opzioni} {file}

Opzioni utilizzate nel comando touch,

In questo articolo analizzeremo 9 utili esempi di comandi touch in Linux,

Esempio:1 crea un file vuoto usando il tocco

Per creare un file vuoto utilizzando il comando touch su sistemi Linux, digita touch seguito dal nome del file, l'esempio è mostrato di seguito,

[[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] ~]#

Esempio:2 creare file vuoti in blocco utilizzando il tocco

Potrebbero esserci degli scenari in cui dobbiamo creare molti file vuoti per alcuni test, questo può essere facilmente ottenuto usando il comando touch,

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

Nell'esempio sopra abbiamo creato 20 file vuoti con il nome sysadm-1.txt in sysadm-20.txt, puoi cambiare il nome e i numeri in base alle tue esigenze.

Esempio:3 Modifica/Aggiorna il tempo di accesso di un file e di una directory

Supponiamo di voler modificare il tempo di accesso di un file chiamato "devops.txt ", per farlo usa '-a ' opzione nel comando touch seguito dal nome del file, l'esempio è mostrato di seguito,

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

Ora verifica se il tempo di accesso di un file è stato aggiornato o meno usando il comando '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-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] ~]#

Modifica il tempo di accesso di una directory ,

Supponiamo di avere una cartella 'nfsshare' in /mnt, cambiamo il tempo di accesso di questa cartella usando il comando seguente,

[[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] ~]#

Esempio:4 Modifica dell'ora di accesso senza creare un nuovo file

Ci possono essere alcune situazioni in cui si desidera modificare il tempo di accesso di un file se esiste ed evitare di creare il file. Usando '-c ' opzione nel comando touch, possiamo modificare il tempo di accesso di un file se esiste e non creeremo un file, se non esiste.

[[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] ~]#

Esempio:5 Modifica Ora di modifica di un file e di una directory

Usando '-m ' opzione nel comando touch, possiamo cambiare l'ora di modifica di un file e di una directory,

Cambiamo il tempo di modifica di un file chiamato “devops.txt”,

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

Ora verifica se l'ora di modifica è stata modificata o meno utilizzando il comando 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-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] ~]#

Allo stesso modo, possiamo cambiare il tempo di modifica di una directory,

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

Esempio:6 Modifica dell'ora di accesso e modifica in una volta sola

Usa "-am ” opzione nel comando touch per modificare l'accesso e la modifica insieme o in una volta sola, l'esempio è mostrato di seguito,

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

Verifica incrociata l'ora di accesso e modifica utilizzando 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] ~]#

Esempio:7 impostare l'ora di accesso e modifica su una data e un'ora specifiche

Ogni volta che modifichiamo l'accesso e l'ora di modifica di un file e una directory utilizzando il comando touch, viene impostata l'ora corrente come ora di accesso e modifica di quel file o directory,

Supponiamo di voler impostare una data e un'ora specifiche come ora di accesso e modifica di un file, ciò può essere ottenuto utilizzando l'opzione "-c" e "-t" nel comando touch,

La data e l'ora possono essere specificate nel formato:{CCYY}MMDDhhmm.ss

Dove:

  • CC – Prime due cifre di un anno
  • YY:le seconde due cifre di un anno
  • MM – Mese dell'anno (01-12)
  • DD – Giorno del mese (01-31)
  • hh – Ora del giorno (00-23)
  • mm – Minuti dell'ora (00-59)

Impostiamo l'ora di accesso e modifica del file devops.txt per data e ora future (anno 2025, 10° mese, 19° giorno del mese, 18° ora e 20° minuto)

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

Usa il comando stat per visualizzare l'accesso all'aggiornamento e l'ora di modifica,

Impostare l'ora di accesso e modifica in base alla stringa di data, utilizzare l'opzione '-d' nel comando touch e quindi specificare la stringa di data seguita dal nome del file, l'esempio è mostrato di seguito,

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

Verifica lo stato usando il comando 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] ~]#

Nota: Nei comandi precedenti, se non specifichiamo "-c", il comando touch creerà un nuovo file nel caso non esista sul sistema e imposterà i timestamp qualunque sia menzionato nel comando.

Esempio:8 imposta i timestamp su un file utilizzando un file di riferimento (-r)

Nel comando touch possiamo utilizzare un file di riferimento per impostare i timestamp di file o directory. Supponiamo di voler impostare gli stessi timestamp del file "sysadm-20.txt" sul file "devops.txt". Questo può essere ottenuto facilmente usando l'opzione '-r' in contatto.

Sintassi: # touch -r {file-riferimento} file-effettivo

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

Esempio:9 Modifica l'ora di accesso e modifica sul file di collegamento simbolico

Per impostazione predefinita, ogni volta che proviamo a modificare i timestamp di un file di collegamento simbolico utilizzando il comando touch, verranno modificati solo i timestamp del file originale, nel caso in cui desideri modificare i timestamp di un file di collegamento simbolico, questo può essere ottenuto utilizzando '-h' opzione nel comando touch,

Sintassi: # touch -h {file di collegamento simbolico}

[[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] ~]#

Questo è tutto da questo tutorial, spero che questi esempi ti aiutino a capire il comando touch. Condividi i tuoi preziosi feedback e commenti.

Ulteriori informazioni su: 17 utili esempi di comandi rsync (sincronizzazione remota) in Linux


Linux
  1. 12 utili esempi di comandi Wget in Linux

  2. ls Command in Linux:17 esempi utili spiegati

  3. 10 esempi pratici di comando Touch su Linux

  4. 7 Esempi di comandi Linux df

  5. 14 Utili esempi di comandi "cat" in Linux

11 Esempi utili di comandi data di Linux

Esempi utili di comandi Wget nel sistema Linux

15 esempi utili di comando touch nel sistema Linux

9 Esempi utili di Touch Command in Linux

10 esempi utili del comando di ordinamento in Linux

12 Esempi utili di comandi data di Linux