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

ІсторіяРедагувати

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

СпецифікаціяРедагувати

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

touch [-acfhm] [-r файл] [-t [[CC]YY]MMDDhhmm. [SS]] файл </br>    -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. Процитовано 2019-02-09. 
  2. touch Программки и утилиты — Linux портал. hpunix.org. Архів оригіналу за 2019-02-09. Процитовано 2019-02-09. 
  3. Создание нового пустого файла. linuxe.ru. Процитовано 2019-02-09. 

ПосиланняРедагувати