touch — Вікіпедія

touch — команда Unix, призначена для встановлення часу останньої зміни файлу або доступу в поточний час. Також використовується для створення пустих файлів[1].

Історія[ред. | ред. код]

Утиліта touch з'явилася в операційній системі AT & T UNIX Version 7. Версія утиліти touch, яка йде в комплекті з GNU coreutils, була розроблена Полом Рабіном, Арнольдом Роббінсом, Джимом Кінгдоном, Девідом Маккінзі і Ренді Смітом.

Специфікація[ред. | ред. код]

Згідно POSIX утиліта touch змінює час останньої зміни файлу або час останнього доступу до нього. Файл або шлях до нього передається в якості аргументу. Якщо файл не існує, утиліта створює порожній файл з вказаним ім'ям та встановлює час останньої зміни і останнього доступу в значення, передане в якості аргументу. Якщо аргумент часу не заданий, використовується поточний час[2].

touch [-acfhm] [-r файл] [-t [[CC]YY]MMDDhhmm. [SS]] файл
   -a
Встановлює час останнього доступу до файлу. Час останньої зміни не встановлюється, якщо явно не заданий ключ -m
   -c

Вказує утиліті не створювати файл, якщо він не існує, при цьому ніяких повідомлень про помилку показано не буде.
   -f
Намагається оновити інформацію про час, навіть якщо права доступу файлу не дозволяють робити.
   -h
Вказує утиліті змінювати символічне посилання замість файлу, на який воно посилається.
   -m
Встановлює час останньої зміни файлу.
   -r file
Використовувати значення часу з файлу, заданого аргументом file.
   -t time
Встановлює час останньої зміни і доступу відповідно до зазначеного форматом time.

Формат дати, зазначений в ключі -t, задається відповідно до шаблону [[СС]YY]MMDDhhmm[. SS] : </br>    СС - перші дві цифри року (вік).
YY - останні дві цифри року.
Якщо параметр CC не заданий і значення YY знаходиться в межах 69 і 99, то тоді СС встановлюється рівним 19, в іншому випадку використовується 20. MM - двозначний номер місяця.
DD - двозначний номер дня.
hh - значення годин дати.
mm - значення хвилин дати.
SS - значення секунд дати.
У різних UNIX -подібних системах синтаксис команди може відрізнятися. Наприклад, GNU touch містить опцію -d, яка дозволяє встановлювати дату в форматах, що відрізняються від згаданих вище.

Приклади[ред. | ред. код]

Створює файл myfile.txt і встановлює час останньої зміни та доступу в даний час в системі; якщо файл існує - оновлює час останньої зміни і доступу, не змінюючи при цьому вмісту файлу:

# touch myfile.txt 

</br> Встановлює дату останньої зміни і доступу в 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 

За допомогою команди touch можна впливати на файл, який навіть не створено. В кінцевому підсумку, буде створено новий файл із зазначеним, необхідним ім'ям[3].

ls 1 ~/    drwxr xr x      848      2005 10 19   11:36   src    drwxr xr x      632      2005 10 18   12:25   videos    touch test.txt    ls 1 ~/    drwxr xr x      848      2005 10 19   11:36   src     rw r r         0        2005 10 19   23:41   test.txt    drwxr xr x      632      2005 10 18   12:25   videos                    246

Примітки[ред. | ред. код]

  1. Lenore (1 авг. 2008 г.). Учим Unix: touch: создание файлов. Учим Unix. Архів оригіналу за 9 лютого 2019. Процитовано 9 лютого 2019.
  2. touch Программки и утилиты — Linux портал. hpunix.org. Архів оригіналу за 9 лютого 2019. Процитовано 9 лютого 2019.
  3. Создание нового пустого файла. linuxe.ru. Архів оригіналу за 9 лютого 2019. Процитовано 9 лютого 2019.

Посилання[ред. | ред. код]