Touch (Unix)

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


 v  d  m  Programe în linia de comandă pentru Unix (mai multe)
Management de fișiere: cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch
Management de procese: at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait
Management utilizator/mediu: env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write
Procesare text: awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs
Programare Shell: basename | echo | expr | false | printf | test | true | unset Imprimare:
lp
Communicații:
inetd | netstat | ping | rlogin | traceroute
Căutare:
find | grep | strings
Diverse:
banner | bc | cal | dd | man | size | yes