Создание файлов в Linux. Команда touch

В Linux у каждого файла есть временные метки. В них хранится информация о времени последнего доступа, времени последней модификации (изменения содержимого) и времени последнего изменения (изменения метаданных). Поэтому при создании нового файла, доступе к файлу или его модификации временные метки этого файла автоматически обновляются.
В данном руководстве мы рассмотрим несколько полезных практических примеров использования команды touch. Это стандартная программа операционных систем Unix/Linux, используемая для создания и изменения временных меток файлов.

Синтаксис touch

touch [ОПЦИИ] ФАЙЛ

Опции команды следующие:
-a изменить только время доступа
-m изменить только время модификации
-c не создавать файл, если он не существует
-r использовать время доступа и модификации заданного файла
-t использовать заданные дату и время вместо текущего
-d использовать дату и время, заданные в виде строки
—help вывести справочное сообщение и выйти
—version вывести информацию о версии и выйти

Создание пустого файла

Следующая команда создает новый пустой (размером 0 байт) файл с именем file1:

# touch file1

Создание нескольких файлов

При помощи команды touch можно создавать больше одного файла. Например, следующая команда создаст три файла – file1, file2 и file 3:

# touch file1 file2 file3

Также можно указывать диапазон, например:

# touch file{1..3}

Изменение времени доступа и модификации

Для изменения или обновления времени последнего доступа и модификации файла используются опции «-a» и «-m». Первая из них изменяет время доступа, и если в явном виде не указана вторая, время модификации остается неизменным. Следующая команда устанавливает текущее время доступа к файлу file1. Если файл не существует, будет создан новый пустой файл с таким именем:

# touch -a file1

Если нужно изменить время модификации файла file2, выполните следующую команду. Аналогично, время доступа остается неизменным, если не указать опцию -a:

# touch -m file2

Временные метки используются для сортировки и поиска файлов такими популярными командами Linux, как find и ls.

Запрет создания нового файла

Опция «-c» запрещает команде touch создавать новый файл. Например, следующая команда не будет создавать файл file4, если его не существует:

# touch -c file4

Установка заданного времени доступа и модификации

При помощи опций «-c» и «-t» можно задать время в явном виде. Формат команды следующий:

# touch -c -t [[ВВ]ГГ]ММДДччммм[.сс] file1

ВВ – первые две цифры года
ГГ – последние две цифры года.

Значения «ВВ» и» ГГ» можно не указывать: если «ГГ» в диапазоне 69-99, то «ВВ» автоматически устанавливается в 19, для «ГГ» 00-38 значение «ВВ» устанавливается в 20. Если не указать год вообще, то устанавливается текущий год. «ГГ» от 39 до 68 приводит к ошибке.
ММ – месяц (01-12)
ДД – день (01-31)
чч – час (00-23)
мм – минута (00-59)
сс – секунда (00-59), не обязательно
Например, следующая команда устанавливает дату и время доступа и модификации файла file1 в 10:26 16 января текущего года (2019):

# touch -c -t 01161026 file1

Результат можно проверить командой ls -l:

# ls -l
total 2
-rw-r--r--. 1 root root 0 Jan 16 10:26 file1

Вместо опции «–t» можно использовать опцию «–d», которая позволяет задать дату и время в виде строки в более удобном и читаемом человеком формате, например:

# touch -c -d '14 Mar' file1

Так как время и год не указаны, данная команда устанавливает дату 14 марта текущего года, а время – 00:00.

Использование временных меток другого файла

Команда touch с опцией «-r» позволяет задать файлу временные метки другого файла. Например, следующая команда установит для файла file2 временные метки file1. Таким образом, временные метки обоих файлов будут одинаковыми:

# touch -r file1 file2

Создание файла с заданным временем

Опцию «-t» можно использовать для создания пустого файла с заданной временной меткой. Обратите внимание на отсутствие опции «-с»:

# touch -t 201812101830.55 file5

Приведенная команда создает файл с именем file5 и временной меткой 18:30:55 10 декабря 2018 года.

Заключение

Команда touch очень простая, и мы рассмотрели практически все ее опции. Однако, в разных версиях операционных систем ее работа может немного отличаться. Уточнить детали всегда можно на соответствующей man-странице.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Comments: 2
  1. тютёк

    А как создать надо несколько файлов в имени которых есть пробел? :roll:

    1. Человек

      Чтобы создать несколько файлов в имени которых есть пробел, нужно просто перед пробелом поставить обратный слеш \

      То есть, получится команда типа: touch new\ file{1..3} которая создаст три файл с именами new file1, new file2, new file3.

      Проще говоря в любых командах пробел пишется с обратным слешем.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: