touch — каманда Unix, якая прызначана для ўсталёўкі часу апошняга змянення файла ці часу доступу. Таксама ўжываецца для стварэння пустых файлаў.
Утыліта touch з’явілася ў аперацыйнай сістэме AT&T UNIX Version 7. Версія ўтыліты touch, якая знаходзіцца ў камплекце з GNU coreutils, была распрацавана Полам Рабінам, Арнольдам Робінсам, Джымам Кінгданам, Дэвідам МакКінзі і Рэндзі Смітам.
Згодна POSIX утыліта touch змяняе час апошняга змянення файла ці час апошняга доступу да яго. Імя файла ці шлях да яго перадаецца ў якасці аргумента. Калі файл не існуе, утыліта стварае пусты файл с указаным імем і ўсталёвае час апошняй змены і апошняга доступу ў значэнне, перададзенае ў якасці аргумента. Калі аргумент часу не зададзены, ужываецца бягучы час.
touch [-acfhm] [-r файл] [-t [[CC]YY]MMDDhhmm.[SS]] файл
-a
Вызначае час апошняга доступу да файлу. Час апошняга змянення не усталёўваецца, калі відавочна не зададзены ключ -m
-c
Загадвае ўтыліце не ствараць файл, калі ён не існуе, пры гэтым ніякіх паведамленняў аб памылцы паказана не будзе.
-f
Спрабуе аднавіць інфармацыю аб часе, нават калі правы доступу файла не дазваляюць гэта рабіць.
-h
Загадвае ўтыліце не змяняць даные аб файле, калі ён зададзены сімвалічнай спасылкай.
-m
Вызначае час апошняга змянення файла.
-r file
Выкарыстоўваць значэнні часу з файла, зададзенага аргументам file.
-t time
Вызначае час апошняга змянення і доступу ў адпаведнасці з указаным фарматам time.
Фармат даты, указанай у ключы -t задаецца ў адпаведнасці з шаблонам [[СС]YY]MMDDhhmm[.SS]
:
СС — першыя дзве лічбы года.
YY — апошнія дзве лічбы года.
Калі параметр CC не зададзены і значэнне YY знаходзіцца ў межах 69 і 99, то СС вызначаецца роўным 19,
у адваротным выпадку ужываецца 20.
MM — двухзначны нумар месяца.
DD — двухзначны нумар дня.
hh — значэнне гадзін даты.
mm — значэнне хвілін даты.
SS — значэнне секунд даты.
У розных UNIX-падобных сістэмах сінтаксіс каманды можа адрознівацца. Напрыклад, GNU touch змяшчае опцыю -d, якая дазваляе усталёўваць дату ў фарматах, якія адрозніваюцца ад згаданага вышэй.
Стварае файл myfile.txt і усталёўвае час апошняга змянення і доступу ў бягучы час у сістэме; калі файл існуе — аднаўляе час апошняга змянення і доступу не змяняючы пры гэтым зместу файла:
# touch myfile.txt
Усталёўвае дату апошняга змянення і доступу на 8:46:26 31 студзеня 2007 г.:
# 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