Ubuntu

Come usare il comando touch su Ubuntu

Come usare il comando touch su Ubuntu
toccare" è un comando di base di Linux per creare file vuoti o modificare i timestamp dei file (ultima data o ora di accesso o modifica dei file).

Il comando touch è molto utile nell'uso quotidiano, è utile per testare i trasferimenti di file creando file vuoti per il test, avere la capacità di creare file fittizi per fare tutto ciò che vogliamo con loro può aiutare in qualsiasi momento, ad esempio per testare qualsiasi comando Linux che interagisce direttamente con un file, per comandi come pulire, srm, o brandello non vuoi provare file reali.

Quando utilizziamo il comando touch con il nome di un file esistente, touch non creerà un nuovo file ma aggiornerà i timestamp del file. D'altra parte cambiare i timestamp sarebbe utile se vogliamo evitare che qualcuno sappia che abbiamo avuto accesso a un file falsificando la data e l'ora reali in cui è stato effettivamente effettuato l'accesso.

Timestamp

I file Linux hanno 3 timestamp: atime, mtime e ctime.

un tempo:  atime contiene informazioni su quando il contenuto del file è stato letto con strumenti o comandi per visualizzare il contenuto del file come less, nano, vi, vim, cat, grep, head e così via. Il timestamp atime cambia e viene aggiornato ogni volta che viene visualizzato il file.

mtime: mtime mostra l'ultima modifica del contenuto di un file, incluso il suo nome, ma non la proprietà o i permessi, solo il file stesso.

ctime: come mtime ctime mostra anche quando un file è stato modificato ma viene aggiornato anche quando la proprietà, il gruppo o l'accesso all'autorizzazione su un file sono stati modificati. Possiamo modificare atime e mtime ma non possiamo modificare ctime, il tempo get viene aggiornato quando vengono modificati i permessi di un file o quando i file vengono realmente letti o modificati

Modifica del timestamp atime:

Prima di vedere i timestamp di un file, creiamolo digitando:

$ touch LinuxHintEmptyFile
$ ls
LinuxHintEmptyFile

Dove:

touch = crea un file vuoto chiamato LinuxHintEmptyFIle

ls = elenca i file nella directory

Ora per vedere i timestamp del file nel tipo di terminale

$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0   Blocchi: 0         Blocco IO: 4096 file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0644/-rw-r--r--)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 22:57:09.320314528 +0300
Nascita: -

Il comando stat mostra i permessi di accesso, ultimo accesso (atime), ultima modifica (mtime) e ultima modifica (ctime).

Poiché il file è stato creato di recente, la data e l'ora sono le stesse, cambiamo le autorizzazioni del file per vedere la differenza di output della statistica:

$ chmod -777 LinuxHintEmptyFile
$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0       Blocchi: 0         Blocco IO: 4096  file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0000/----------)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 23:23:55.968391139 +0300
Nascita: -

Dove:

Chmod -777: rimuove tutti i permessi sul file LinuxHintEmptyFile.

statistica: mostra i timestamp del file

Nell'immagine sopra possiamo vedere che ctime (Change) è stato aggiornato.

Ora modifichiamo il file atime su 1/2/99, digita:

$ touch -a --date="1999-02-01" LinuxHintEmptyFile
$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0     Blocchi: 0 Blocco IO: 4096  file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0000/----------)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 00:00:00.00000000 +0200
Modifica: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 23:34:32.964421513 +0300
Nascita: -

Se vuoi anche cambiare il tipo di accesso alla data:

$ touch -a --date="1999-02-01 21:35" LinuxHintEmptyFile
$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0     Blocchi: 0         Blocco IO: 4096 file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0000/----------)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 21:35:00.00000000 +0200
Modifica: 14-05-2019 22:57:09.320314528 +0300
Modifica: 14-05-2019 23:42:49.016445166 +0300
Nascita: -

Modifica del timestamp di mtime:

La sintassi per modificare mtime è la stessa, per cambiare ctime in 1989.02.01 tipo:

$ touch -m --date="1989-02-01" LinuxHintEmptyFile
$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0          Blocchi: 0          Blocco IO: 4096  file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0000/----------)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 21:35:00.00000000 +0200
Modifica: 1989-02-01 00:00:00.00000000 +0200
Modifica: 14-05-2019 23:49:56.560465553 +0300
Nascita: -

Ora puoi vedere che la data di modifica è stata aggiornata, per aggiornare anche l'ora in modo simile con il tipo atime:

$ touch -m --date="1989-02-01 20:22" LinuxHintEmptyFile
$ stat LinuxHintEmptyFile
File: LinuxHintEmptyFile
Dimensione: 0     Blocchi: 0         Blocco IO: 4096 file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766630  Collegamenti: 1
Accesso: (0000/----------)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 21:35:00.00000000 +0200
Modifica: 1989-02-01 20:22:00.00000000 +0200
Modifica: 14-05-2019 23:52:10.156471924 +0300
Nascita: -

Ora creiamo un secondo file e utilizzeremo il comando touch per copiare i timestamp di un file sul secondo:

$ tocca LHFile2
$ stat LHFile2
File: LHFile2
Dimensione: 0   Blocchi: 0         Blocco IO: 4096 file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766635  Collegamenti: 1
Accesso: (0644/-rw-r--r--)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 2019-05-15 00:02:14.020500718 +0300
Modifica: 2019-05-15 00:02:14.020500718 +0300
Modifica: 2019-05-15 00:02:14.020500718 +0300

Abbiamo un file accessibile, modificato e modificato il 15/05/2019 00:02:14, per copiare i timestamp del file dal tipo di file LinuxHintEmptyFile:

$ touch -r LinuxHintEmptyFile LHFile2
$ stat LHFile2
File: LHFile2
Dimensione: 0    Blocchi: 0         Blocco IO: 4096  file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766635  Collegamenti: 1
Accesso: (0644/-rw-r--r--)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 21:35:00.00000000 +0200
Modifica: 1989-02-01 20:22:00.00000000 +0200
Modifica: 2019-05-15 00:03:11.592503463 +0300
Nascita: -

Come vedi ora entrambi i file condividono gli stessi timestamp.

Se vogliamo cambiare tutti i timestamp con l'ora corrente, dobbiamo solo digitare "touch":

$ stat LHFile2
File: LHFile2
Dimensione: 0      Blocchi: 0          Blocco IO: 4096 file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766635  Collegamenti: 1
Accesso: (0644/-rw-r--r--)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 1999-02-01 21:35:00.00000000 +0200
Modifica: 1989-02-01 20:22:00.00000000 +0200
Modifica: 2019-05-15 00:03:11.592503463 +0300
Nascita: -
$ tocca LHFile2
$ stat LHFile2
File: LHFile2
Dimensione: 0  Blocchi: 0         Blocco IO: 4096  file vuoto normale
Dispositivo: 802h/2050d    Inode: 13766635  Collegamenti: 1
Accesso: (0644/-rw-r--r--)  Uid: ( 1003/linuxhint)   Gid: ( 1003/linuxhint)
Accesso: 2019-05-15 00:08:51.652519679 +0300
Modifica: 2019-05-15 00:08:51.652519679 +0300
Modifica: 2019-05-15 00:08:51.652519679 +0300
Nascita: -

Come vedi il secondo statistica mostra l'aggiornamento un tempo, mtime e ctime dopo il comando toccare.

Spero che questo tutorial sia stato utile come introduzione al comando touch, per maggiori informazioni su questo comando digita “tocco dell'uomo”, se hai qualche domanda contattaci aprendo un supporto ticket su LinuxHint Support. Continua a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux.

Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...
Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...

Ultimi articoli sui sistemi operativi. Tante guide interessanti e consigli utili. Sentiti come il tuo nel mondo della tecnologia moderna