Comanda UNIX touch este folosită pentru a schimba timpul când un fișier a fost accesat și modificat ultima dată. Este de asemenea folosită pentru a crea un fișier gol. Comanda nu modifică conținutul fișierului.
Istorie
Comanda a fost introdusă în Version 7 AT&T UNIX. Comanda face parte din GNU coreutils și a fost implementată de Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie și Sunil Sharma.
Sintaxă
touch [opțiuni] fișier
Dintre opțiunile cele mai des folosite amintim:
- -a (access) - schimba numai timpul de acces.
- -c (no create) - dacă fișierul nu există, acesta nu este creat și eroarea nu este raportată.
- -m - schimbă numai timpul de modificare.
- -r file - folosește timpul de acces și modificare al altui fișier
- -t time - folosește timpul de acces și modificare specificat
Fără nicio opțiune, timpul curent al sistemului este folosit în modificări. Aceasta simulează o actualizare a fișierului.
Exemple
# touch myfile.txt
Se actualizează timpii de acces și modificare ai fișierului myfile.txt.
Acesta este unul din cazurile în care dorim să actualizăm un fișier. Să presupunem că dorim să compilăm un proiect care a fost compilat deja. Comanda make ne arată acest lucru:
# make
make: nothing to be done for `all'
Simulăm actualizarea unui fișier sursă și încercăm din nou:
# touch project.c
# make
make va recompila proiectul în acest caz.
Câteva exemple de folosire a opțiunilor:
# touch -t 200701310846.26 index.html
# touch -d '2007-01-31 8:46:26' index.html
# touch -d 'Jan 31 2007 8:46:26' index.html
Toate cele trei comenzi sunt echivalente. Timpul este schimbat în 31 ianuarie 2007, ora 8:46:26.
touch nu are opțiunea de recursivitate. Aceasta poate fi introdusă cu ajutorul altor comenzi, de exemplu:
# find . -exec touch {} \;
# find . | xargs touch
# find . -print0 | xargs -0 touch
Toate cele trei comenzi sunt echivalente.
Legături externe