touch

З пляцоўкі Вікіпедыя
Перайсці да: рух, знайсці


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

Спасылкі[правіць | правіць зыходнік]