Команда touch в linux

Обновлено: 04.07.2024

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

Синтаксис touch

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Команда touch в Linux

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

Используем команду touch в Linux

Для использования команды touch в Linux потребуется изучить ее синтаксис и понять принципы ввода. С этим не должно возникнуть никаких проблем, поскольку сама утилита довольно проста, а с доступными опциями можно разобраться буквально за несколько минут. Давайте как раз и начнем с этого.

Синтаксис

Обратим внимание на стандартный вид строки при вводе команды touch. Она выглядит так: touch + [Опции] + Файл . Если же действие нужно осуществить от имени суперпользователя, в начале строки придется добавить sudo, а после ее активации написать пароль, подтверждающий учетную запись. Что касается дополнительных опций, то стоит отметить следующие:

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

Теперь вы знаете абсолютно обо всех доступных опциях рассматриваемой сегодня команды. Давайте перейдем к изучению параметров, чтобы разобраться со всеми основными действиями, выполняемыми при помощи данной утилиты.

Генерация пустых файлов

Переход к терминалу для использования команды touch в Linux

Ввод команды touch в Linux для создания нового файла

Успешное создание файла через команду touch в Linux

Составление списка файлов для одновременного создания через touch в Linux

Автоматическое создание перечня файлов через команду touch в Linux

Больше команда touch без применения аргументов ничего сделать не способна, поэтому давайте сразу же перейдем к разбору примеров взаимодействия с опциями.

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

Установка времени последнего доступа для указанного файла через touch в Linux

Установка времени последнего изменения

По той же аналогии работает и упомянутый выше аргумент -m. Ое переназначает время последнего изменения на текущее, а строка выглядит так: touch -m file . Все внесенные изменения вступают в действие сразу же, а это значит, что вы можете переходить к их проверке или к выполнению других задач, ради которых и вызывалась команда touch с опцией -m.

Установка времени последнего изменения для указанного файла touch в Linux

Запрет на создание объекта

Запрет на создание файла с указанным названием в touch в Linux

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

Изменение файла с заранее указанным временем через touch в Linux

Если вы заинтересованы в просмотре итогового результата, напишите в консоли ls -l и нажмите на Enter. В списке остается только отыскать необходимый файл и просмотреть, когда он был модифицирован.

Просмотр созданного файла с заранее указанным временем через touch в Linux

Перенос временных меток выбранного файла

Создание файла с переносом времени с другого объекта через touch в Linux

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

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

Теперь вы знакомы с командой touch, которая активно используется в Linux для создания файлов. Это могут быть как отдельные тестовые элементы, так и объекты, добавленные для определенных целей. Пользователь уже сам решает, в каком русле применять возможности утилиты. Если вас заинтересовала тема основных команд этой операционной системы, предлагаем изучить представленные далее материалы.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

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

В этом руководстве мы покажем вам, как использовать сенсорную команду, на практических примерах и подробных объяснениях наиболее распространенных параметров команд.

Метки времени файлов Linux

Прежде чем перейти к использованию сенсорной команды, давайте начнем с обзора временных меток файлов в Linux.

Файл в Linux имеет три отметки времени:

Чтобы отобразить статус файла, включая временные метки, используйте команду stat .

Как использовать сенсорную команду

В простейшей форме при использовании без каких-либо опций, если имя файла, указанное в качестве аргумента, не существует, touch создаст новый файл.

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

Например, если файл file1 не существует, следующая команда создаст его, иначе она изменит его временные метки:

Чтобы создать или изменить несколько файлов одновременно, укажите имена файлов в качестве аргументов:

Если вы не хотите, чтобы команда touch создавала новые файлы, используйте параметр -c ( --no-create ).

Например, если существует файл file1 следующая команда изменит временные метки файла, в противном случае она ничего не сделает:

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

По умолчанию, если параметр не используется, прикосновение обновит время последнего доступа к файлу и времени изменения до текущего времени. Используя параметры -a и -m , вы можете изменить только одну из этих временных меток.

Меняем только время доступа

Используйте параметр -a чтобы изменить только время доступа к файлу:

Измените только время изменения

Используйте параметр -m чтобы изменить время изменения файла:

При изменении времени изменения время изменения также будет обновлено.

Установка конкретных отметок времени

Сенсорная команда также позволяет нам обновлять или создавать файл с определенным временем, отличным от текущего времени.

Используйте параметр -d ( --date= ), чтобы указать строку даты и использовать ее вместо текущего времени.

Например, чтобы изменить время последнего доступа и модификации file1 на 1 июня 2018 11:02, вы должны использовать следующую команду:

Строку даты необходимо заключить в одинарные кавычки.

Вы также можете указать частичную строку даты и времени для сенсорной команды. Предоставляя только дату, автоматически меняет год на текущий:

Используйте параметр -t чтобы указать отметку времени и использовать ее вместо текущего времени. Аргумент отметки времени должен быть в следующем формате:

Например, следующая команда установит время последнего доступа и модификации file1 на 1 июня 11:02 текущего года.

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

Параметр -r ( --reference= ) позволяет нам указать справочный файл и использовать его временные метки вместо текущего времени.

Например, следующая команда скажет touch использовать время file1 для file2 :

Изменение метки времени символической ссылки

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

Используйте -h ( --no-dereference ), чтобы изменить метку времени символической ссылки.

Например, чтобы изменить временные метки символической ссылки symlink1 вы должны использовать:

Выводы

К настоящему времени вы должны хорошо понимать, как использовать сенсорную команду Linux.

Команда Touch Linux

Сенсорная команда позволяет нам обновлять временные метки для существующих файлов и каталогов, а также создавать новые, пустые файлы.

Временные метки файлов Linux

Прежде чем перейти к использованию команды touch, давайте начнем с просмотра временных меток файлов в Linux.

Файл в Linux имеет три метки времени:

  • atime (время доступа) - последний раз, когда файл был доступен / открыт какой-либо командой или приложением, например, cat , vim или grep .
  • mtime (время модификации) - время последнего изменения содержимого файла.
  • ctime (время изменения) - время последнего изменения атрибута или содержимого файла. Атрибут включает права доступа к файлу, владельца файла или местоположение файла.

Чтобы отобразить состояние файла, включая временные метки, используйте stat команду.

Создание нового файла требует разрешения на запись в родительский каталог. В противном случае вы получите ошибку «Отказано в разрешении».

Как использовать сенсорную команду

В простейшем виде, когда используется без каких-либо опций, если имя файла, указанное в качестве аргумента, не существует, touch создаст новый файл.

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

Например, если файл file1 не существует, в противном случае его создаст следующая команда, которая изменит свои временные метки:

Чтобы создать или изменить несколько файлов одновременно, укажите имена файлов в качестве аргументов:

Если вы не хотите, чтобы команда touch создавала новые файлы, используйте параметр -c ( --no-create ).

Например, если файл file1 существует, следующая команда изменит временные метки файла, в противном случае она ничего не будет делать:

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

По умолчанию, если ни одна из опций не используется, сенсорный обновит время последнего доступа к файлу и время модификации до текущего времени. Используя -a и -m опцию, вы можете изменить только одну из этих меток времени.

Изменить только время доступа

Используйте -a опцию, чтобы изменить только время доступа к файлу:

Изменить только время изменения

Используйте -m опцию, чтобы изменить время изменения файла:

При изменении времени изменения время изменения также будет обновлено.

Установка конкретных временных меток

Сенсорная команда также позволяет нам обновлять или создавать файл с определенным временем, отличным от текущего времени.

Используйте параметр -d ( --date= ), чтобы указать строку даты и использовать ее вместо текущего времени.

Например, чтобы изменить время последнего доступа и изменения file1 на 1 июня 2018 г. 11:02, вы должны использовать следующую команду:

Строка даты должна быть заключена в одинарные кавычки.

Вы также можете предоставить частичную строку даты и времени для сенсорной команды. Предоставляя только дату, автоматически меняет год на текущий:

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

Например, следующая команда установит время последнего доступа и изменения file1 на 1 июня 11:02 текущего года.

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

Опция -r ( --reference= ) позволяет нам указать эталонный файл и использовать его временные метки вместо текущего времени.

Например, следующая команда скажет touch использовать время file1 для file2 :

Изменение временной метки символической ссылки

По умолчанию, если вы используете сенсорную команду для символической ссылки, она изменит временные метки своего ссылочного файла.

Используйте -h ( --no-dereference ), чтобы изменить временную метку символической ссылки.

Например, чтобы изменить метки времени символической ссылки, symlink1 вы должны использовать:

Вывод

К настоящему времени вы должны хорошо понимать, как использовать сенсорную команду Linux.

15 полезных примеров использования команды touch в Linux системах

Команда touch - это простой, но полезный инструмент в Unix-подобных системах, который позволяет пользователям создавать файлы и изменять временные метки непосредственно из терминала. Это одна из самых фундаментальных терминальных команд в Linux, и сисадмины часто используют ее для различных целей. Перед вами краткое руководство, содержащее 15 практических примеров ее использования.

Практическое использование команды touch для пользователей Linux

Приведенные ниже примеры помогут вам получить полное представление о команде. Однако, вы должны попробовать использовать эти команды сами, если хотите освоить этот инструмент в целом. Итак, запустите ваш терминал Linux и начните выполнять команды, приведенные ниже, по мере того, как вы о них будете читать.

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

При самом простом использовании touch создает простой файл, который ничего не содержит. Он очень полезен в ряде ситуаций, например, когда вы экспериментируете с файловыми операциями или какими-либо другими командами терминала. Для этого просто передайте имя файла после команды touch.

Так в текущей рабочей директории создается простой пустой файл, который называется test. Вы можете проверить это с помощью команды ls. Вы также можете использовать команду touch для создания пустого файла в любой другой директории, просто передав правильный путь перед именем файла.


2. Создание нескольких пустых файлов

С помощью данной команды можно также создавать несколько файлов одновременно из одного терминала. Все, что вам нужно сделать, это передать все имена файлов, которые вы хотите создать один за другим. Взгляните на приведенную ниже команду, чтобы увидеть, как это работает.

Вышеуказанная команда создаст все пять файлов одновременно. Проверить это можно с помощью команды ls -l в терминале. Вы также можете использовать фигурные скобки для создания нескольких файлов одновременно с помощью touch, как показано в примере, приведенном ниже.

Вышеуказанная команда сделает ту же работу, но гораздо более аккуратным способом.

3. Создание и заполнение файла

В приведенном ниже примере показано, как создать простой файл с помощью сенсорного ввода и заполнить его некоторым содержимым. Для этой цели мы используем команду seq в Linux. Но вы можете прибегнуть и к другим методам, если хотите.

Теперь тестовый файл не пустой, а содержит числа от 1 до 10. Вы можете проверить это с помощью команды Linux cat.


4. Повторение метки времени последнего доступа к файлу

Команда touch позволяет пользователям повторять метки времени времени последнего доступа разных файлов. Для этого необходимо использовать ключ -r. Мы создадим новый файл под названием new, и вместо использования текущего времени мы возьмем значения времени из тестового файла, созданного ранее.

Вы можете проверить это с помощью команды ls. Вы должны увидеть, что файл new имеет временную метку, более раннюю, чем текущее время, и такую же, как и файл test. Для этого ключа также существует длинная форма, называемая -reference.


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

Администраторы Linux часто используют команду для изменения метки времени последнего доступа к файлам, созданным ранее. Следующая команда показывает нам, как это сделать. Для этого нам нужно использовать ключ -a. Сначала проверьте метку времени файла test, используя нижеприведенную команду.

Теперь воспользуйтесь ключом -a, чтобы изменить эту метку времени с помощью команды touch. Обратите внимание, что ключ -time=atime из ls показывает нам время доступа к файлу.

Теперь, если вы еще раз проверите временную метку файла test, вы заметите, как она изменилась после выполнения вышеуказанной команды. Это один из наиболее распространенных видов использования в Linux.


6. Изменение метки времени последнего изменения файла

Вы также можете изменить время последнего изменения файла в Linux с помощью этой команды. Для этого необходимо использовать ключ -m. Внимательно посмотрите на пример ниже, чтобы увидеть, как это работает.

Во-первых, мы просмотрели последнее время последнего изменения файла test с использованием команды ls. Затем мы использовали ключ -m вместе с командой touch, чтобы изменить это значение на текущее время. Проверить это можно, выполнив еще раз команду ls.


7. Изменение даты и времени на текущее время

Вы можете использовать ключи -a и -m вместе для изменения как метки времени последнего доступа к файлу, так и времени последнего изменения файла в Linux. Для демонстрации этого необходимо использовать старый файл. Вы можете просто запустить приведенную ниже команду для одного такого файла, чтобы посмотреть, работает ли это так, как ожидалось или нет.

Вы можете просмотреть всю информацию о времени, относящуюся к старому файлу, с помощью команды stat. Она покажет время последнего доступа, время последнего изменения и время последнего изменения атрибутов вашего файла. Теперь используйте следующую команду для изменения даты и времени на текущие.

Проверьте изменение даты и времени еще раз с помощью команды stat.


8. Пропустить создание файла

Ключ -c или -no-create позволяет пропустить создание файла. Хотя вы можете считать это непродуктивным, но многие пользователи используют этот ключ для проверки существования файла.

При выполнении вышеописанных команд в Вашей рабочей директории не произойдет никаких изменений. Вы можете запустить команду ls еще раз, чтобы проверить это.

9. Изменение даты файла

Мы также можем использовать команду touch, чтобы указать дату файла вручную. Для этого необходимо использовать ключ -d или -date. Приведенная ниже команда показывает, как изменить дату файла на более раннюю с помощью touch.

Теперь, если вы снова запустите команду ls, вы увидите, что она показывает дату файла - 15 Марта. Но вы же создали этот файл сегодня, верно? Если Вы посмотрите внимательно, то увидите, что теперь ls показывает только дату, а не время. Вы даже можете использовать эту команду, чтобы установить дату в будущем.


10. Измение даты и времени на пользовательские значения

Ключ -t позволяет нам изменять как дату, так и время файла на персонализированные значения. Таким образом, мы можем изменить несколько параметров, включая год, месяц, дату, час, минуты и секунды. Внимательно посмотрите на следующий пример, чтобы понять, как это работает.

Теперь снова запустите команду ls, чтобы проверить параметры даты и времени. Аргумент к ключу -t должен быть в формате YYMMDDhhmm. Так как мы установили значения, которые будут в будущем, команда ls не сможет показать параметр времени.


11. Изменение даты с помощью слова

Также можно изменять дату файла в формате слов, например, "yesterday" с помощью команды touch. Для этого просто передайте аргумент ввиде строки к ключу -date. Команда ниже показывает, как изменить дату файла на предыдущий день.

Используйте следующую команду для изменения даты на следующий день.

Проверьте даты с помощью команды ls и убедитесь, что они работают, как ожидалось.


12. Копирование метки времени последнего доступа к файлу для символьных ссылок

Ключ -h или -no-dereference позволяет пользователям копировать время последнего доступа к файлу по символическим ссылкам. Однако, этот ключ будет работать только на системах, которые позволяют изменять время символических ссылок.

Эта команда не работает во многих дистрибутивах Linux из-за различных проблем с безопасностью.

13. Просмотр справочной информации

Данная команда покажет страницу справки для linux-команды touch в вашем терминале. Это избавит Вас от необходимости запоминать использование каждого ключа.

14. Просмотр мануала по команде touch

Она покажет вам подробную документацию о том, как работать с командой touch в Linux системах. Обращайтесь к этой документации всякий раз, когда у вас возникнет путаница в отношении использования ключей.

15. Просмотр информации о версии

Вы можете просмотреть, какая версия команды touch установлена в вашей системе, с помощью приведенной ниже команды. Она поможет вам определить различную информацию об установленном пакете.

Заключительные слова

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

Читайте также: