“touch” è un comando Linux di base per creare file vuoti o cambiare i timestamp dei file (ultima data o ora di accesso o modifica del file).

Il comando touch è molto utile nell’uso quotidiano, è utile per testare i trasferimenti di file creando file vuoti per i test, avere la possibilità di creare file fittizi per fare qualsiasi cosa vogliamo con loro può aiutare in qualsiasi momento per esempio per testare qualsiasi comando Linux che interagisce direttamente con un file, per comandi come wipe, srm, o shred non si vuole provare file reali.

Quando usiamo 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 siamo entrati in un file falsificando la data e l’ora reale di accesso.

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

atime: 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, ecc. Il timestamp atime cambia e viene aggiornato ogni volta che il file viene visualizzato.

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 anche ctime mostra quando un file è stato modificato ma viene anche aggiornato quando la proprietà, il gruppo o i permessi di accesso su un file sono cambiati. Possiamo modificare l’atime e l’mtime ma non possiamo modificare il ctime, il tempo viene aggiornato quando i permessi di un file vengono modificati o quando i file vengono realmente letti o modificati

Modificare il 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 terminale digita

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

Siccome la data e l’ora di recente creazione del file sono le stesse, cambiamo i permessi del file per vedere la differenza di output di stat:

Dove:

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

stat: mostra i timestamp del file

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

Ora, modifichiamo il file atime a 1/2/99, tipo:

Se vuoi cambiare anche la data di accesso tipo:

Modificare il timestamp mtime:

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

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

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

Abbiamo un file acceduto, modificato e cambiato il 2019-05-15 00:02:14, per copiare i timestamp del file di tipo LinuxHintEmptyFile:

Come vedete ora entrambi i file hanno gli stessi timestamp.

Se vogliamo cambiare tutti i timestamp all’ora corrente dobbiamo solo digitare “touch”:

Come vedete la seconda statistica mostra l’atime, mtime e ctime aggiornati dopo il comando touch.

Spero che questo tutorial sia stato utile come introduzione al comando touch, per maggiori informazioni su questo comando digita “man touch”, se hai qualche richiesta contattaci aprendo un ticket di supporto su LinuxHint Support. Continua a seguire LinuxHint per altri suggerimenti e aggiornamenti su Linux.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *