Поиск по сайту:

Учебник по командам Touch в Linux для начинающих (6 примеров)


На этой странице

  1. Команда Linux Touch
  2. 1. Как изменить время доступа/модификации с помощью сенсорной команды
  3. 2. Как изменить только время доступа или модификации
  4. 3. Как заставить touch использовать время доступа/модификации существующего файла
  5. 4. Как создать новый файл с помощью сенсорного экрана
  6. 5. Как заставить touch не создавать новый файл
  7. 6. Как работает touch в случае символических ссылок
  8. Заключение

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

Обратите внимание, что все примеры, которые здесь используются, были протестированы на компьютере с Ubuntu 22.04.

Команда касания Linux

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

Ниже приведен общий синтаксис команд:

touch [OPTION]... FILE...

А вот как справочная страница объясняет эту команду:

DESCRIPTION
       Update  the  access  and modification times of each FILE to the current
       time. A FILE argument that does not exist is created empty, unless -c  or  -h
       is supplied. A  FILE  argument  string of - is handled specially and causes touch to
       change the times of the file associated with standard output.

Следующие примеры типа вопросов и ответов дадут вам лучшее представление о том, как работает этот инструмент.

1. Как изменить время доступа/модификации с помощью сенсорной команды

Это просто и довольно просто. В качестве примера возьмем существующий файл. На следующем снимке экрана показано время доступа и модификации для файла с именем apl.c.

Вот как вы можете использовать сенсорную команду для изменения доступа к файлам и времени модификации:

touch apl.c

Следующий снимок экрана подтверждает изменение этих временных меток.

2. Как изменить только время доступа или модификации

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

Если вы хотите изменить только время доступа, используйте параметр командной строки -a.

touch -a [filename]

Точно так же, если требуется изменить только время модификации, используйте параметр командной строки -m.

touch -m [filename]

3. Как заставить touch использовать время доступа/изменения существующего файла

Если вы хотите, вы также можете заставить команду touch копировать временные метки доступа и модификации из эталонного файла. Например, предположим, что мы хотим изменить метки времени для файла apl.c. Вот текущие метки времени для этого файла:

И это файл, который вы хотите использовать в качестве ссылки:

Теперь, чтобы touch использовал временные метки apl для apl.c, вам нужно использовать параметр командной строки -r следующим образом:

touch apl.c -r apl

На приведенном выше снимке экрана показано, что временные метки модификации и доступа для apl.c теперь такие же, как и для apl.

4. Как создать новый файл с помощью сенсорного экрана

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

touch newfile

5. Как заставить touch не создавать новый файл

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

touch -c [filename]

На следующем снимке экрана показано, что, поскольку newfile12 не существует, и мы использовали параметр командной строки -c, команда touch не создала файл.

6. Как работает touch в случае символических ссылок

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

Вот как man-страница объясняет параметр -h:

-h, --no-dereference
              affect each symbolic link instead of any referenced file (useful
              only on systems that can change the timestamps of a symlink)

Поэтому, если вы хотите изменить временные метки модификации и доступа для символической ссылки (а не исходного файла), используйте команду touch следующим образом:

touch -h [sym link file name]

Заключение

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