Skip to main content
  1. Comandi/

touch - change file timestamps

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cosa fa
#

Aggiorna i timestamp (Access e Modify) di un file all'ora corrente. Se il file non esiste, lo crea vuoto. In pratica viene usato quasi sempre per creare file vuoti o come trigger negli script.

Sintassi
#

touch [opzioni] file

Comandi essenziali
#

ComandoFlagSignificato flagCosa fa
touch file.txtCrea file.txt vuoto se non esiste, aggiorna timestamp se esiste
touch -a file-aaccessAggiorna solo il timestamp di accesso
touch -m file-mmodifyAggiorna solo il timestamp di modifica
touch -t 202603150900 file-ttimestampImposta timestamp specifico (YYYYMMDDhhmm)
touch -r src dst-rreferenceCopia i timestamp da src a dst

Creare molti file — brace expansion
#

# Crea 100 directory e 26 file per ognuna (2600 file totali)
mkdir -p dir-{001..100}
touch dir-{001..100}/file-{A..Z}

# Crea file con nomi specifici
touch log_{lunedi,martedi,mercoledi}.txt

# Verifica con find
find . -name "file-A" | wc -l   # 100

I timestamp di Linux — MACB
#

Access  (atime) → ultima lettura del file
Modify  (mtime) → ultima modifica del CONTENUTO
Change  (ctime) → ultima modifica dei METADATI (permessi, owner, link count)
Birth   (btime) → creazione (non sempre disponibile)

touch aggiorna atime e mtime. Il ctime si aggiorna automaticamente ogni volta che cambia qualcosa nel file o nei metadati — non si puo' modificare con touch.

# Verificare i timestamp
stat file.txt
# Access: 2026-03-27 07:14:32
# Modify: 2026-03-25 10:00:00
# Change: 2026-03-27 07:14:32   ← si aggiorna anche quando usi touch

Scenario Reale — Blue Team
#

Un attaccante puo' usare touch -t per far sembrare un file malevolo piu' vecchio e mimetizzarsi tra i file di sistema:

# Attaccante — falsifica il timestamp di un binario malevolo
touch -t 202001010000 /tmp/.hidden/backdoor

# Difensore — ctime non si puo' modificare con touch
stat /tmp/.hidden/backdoor
# Modify: 2020-01-01 00:00:00   ← falsificato
# Change: 2026-03-27 03:14:00   ← reale — rivela quando e' stato effettivamente creato

Controlla sempre il Change time con stat, non solo il Modify — e' molto piu' difficile da falsificare.

Note personali
#

Tip

touch file per creare file vuoti e' uno degli idiomi piu' usati negli script bash — per creare lock file, file di log vuoti, file sentinel per segnalare lo stato di uno script.

Collegato a
#

  • system — categoria
  • file — categoria
  • stat — legge i timestamp modificati da touch
  • find — usa i timestamp per filtrare file (-mtime, -newer)
  • inode-anatomy — i timestamp sono metadati nell'inode

Related