touch — kreiranje praznog fajla i menjanje vremenskih oznaka
Komanda radi dve stvari: pravi prazan fajl ako ne postoji, a ako postoji — osvežava mu vremenske oznake. Ime dolazi od te druge, originalne namene: „dodirni fajl, ali ga ne menjaj".
$ touch beleske.txt $ ls -l beleske.txt -rw-r--r-- 1 alen alen 0 Aug 22 14:23 beleske.txt
Fajl je prazan — nula bajtova.
Svakodnevna upotreba
$ touch fajl1.txt fajl2.txt fajl3.txt
$ touch log-{01..05}.txt
$ touch ~/projekat/README.md
Vitičaste zagrade u drugom redu su prečica koju proširuje shell, objašnjena u lekciji Džokeri i navodnici.
Direktorijum se ne pravi sam:
$ touch novi/fajl.txt touch: cannot touch 'novi/fajl.txt': No such file or directory $ mkdir -p novi && touch novi/fajl.txt
Osvežavanje vremena
$ ls -l staro.txt -rw-r--r-- 1 alen alen 1024 Jan 15 09:00 staro.txt $ touch staro.txt $ ls -l staro.txt -rw-r--r-- 1 alen alen 1024 Aug 22 14:30 staro.txt
Sadržaj je netaknut, promenjeno je samo vreme. Ovo je korisnije nego što
zvuči — alati poput make, rsync i backup skripti
odlučuju na osnovu vremena izmene, pa se sa touch može naterati
ponovna obrada fajla koji se zapravo nije menjao.
Tri vremena, dva se mogu menjati
$ stat beleske.txt Access: 2026-08-22 14:35:02 Modify: 2026-08-22 14:30:11 Change: 2026-08-22 14:30:11
- Modify — kad je poslednji put menjan sadržaj. To je vreme
koje prikazuje
ls -l. - Access — kad je poslednji put čitan.
- Change — kad je poslednji put menjan inode: dozvole,
vlasnik, ime. Ovo
touchne može podesiti — svaka izmena ga automatski osvežava.
$ touch -m fajl.txt # samo modify $ touch -a fajl.txt # samo access
Određeno vreme
$ touch -d "2026-01-15 09:00" fajl.txt $ touch -d "yesterday" fajl.txt $ touch -d "2 hours ago" fajl.txt $ touch -t 202601150900 fajl.txt
Oblik -t je GGGGMMDDhhmm.
Preuzimanje vremena sa drugog fajla
$ touch -r original.txt kopija.txt
Korisno kad si fajl obradio pa hoćeš da mu vratiš originalno vreme.
Zastavice koje se retko koriste, ali vrede
$ touch -c mozda-postoji.txt
-c osvežava vreme samo ako fajl postoji, a ne pravi ga. Zgodno
u skriptama.
$ touch -h simbolicki-link
Bez -h se osvežava fajl na koji link pokazuje, ne sam link.
Praktični primeri
Pronalaženje po vremenu
$ touch -d "7 days ago" /tmp/granica $ find /var/log -newer /tmp/granica
Sve što je menjano u poslednjih sedam dana. Više na stranici find.
Kontrolni fajl
$ touch /var/run/backup.lock
Skripta pravi fajl na početku i briše ga na kraju; ako fajl postoji, posao je već u toku. Prost način da se cron poslovi ne preklope — vidi cron.
Test dozvola
$ touch /var/www/test touch: cannot touch '/var/www/test': Permission denied
Najbrža provera da li negde smeš da pišeš.
Šta touch ne radi
Ne prazni postojeći fajl. To je najčešća zabuna:
$ touch aplikacija.log # log ostaje pun $ > aplikacija.log # ovo ga prazni $ truncate -s 0 aplikacija.log
Zašto se log prazni ovako, a ne komandom rm, objašnjeno je u
lekciji Inode-ovi i linkovi.
Ne pravi fajl sa sadržajem. Za to:
$ echo "prvi red" > fajl.txt
Kratka referenca
touch fajl— napravi prazan ili osveži vremetouch f1 f2 f3— više odjednomtouch -c fajl— ne pravi ako ne postojitouch -m/-a— samo modify / accesstouch -d "yesterday" fajl— određeno vremetouch -t 202601150900 fajl— vreme u brojčanom oblikutouch -r izvor cilj— preuzmi vreme sa drugog fajlastat fajl— prikaži sva tri vremena
Vežba
- Napravi pet fajlova jednom komandom, sa imenima
test-01dotest-05. - Postavi jednom od njih vreme izmene na prošlu godinu i proveri sa
ls -l. - Napravi fajl sa sadržajem, pa mu osveži vreme i potvrdi da je sadržaj ostao.
- Pronađi sve fajlove u kućnom direktorijumu izmenjene u poslednja dva
dana, koristeći
touchifind.
Pravljenje direktorijuma je na stranici mkdir, kog je tipa neki fajl kaže file, a pregled cele oblasti je na stranici Rad sa fajlovima i direktorijumima.
Cela lekcija je deo vodiča Linux osnove.
Comments
Post a Comment