Команды Linux · 3 min read · Jan 20, 2026

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

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

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

Команда touch в Linux

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

Следующий синтаксис команды является общим:

touch [OPTION]... FILE...

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

DESCRIPTION  
       Обновить время доступа и модификации каждого FILE до текущего  
       времени. Аргумент FILE, который не существует, создается пустым,  если не указаны -c или -h. Строка аргумента FILE - обрабатывается  
       специальным образом и заставляет touch изменить время файла,  
       связанного со стандартным выводом.

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

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

Это просто и довольно понятно. Давайте возьмем существующий файл в качестве примера. Следующий скриншот показывает время доступа и модификации для файла с именем ‘apl.c’.

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

touch apl.c

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

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

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

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

touch -a [имя файла]

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

touch -m [имя файла]

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

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

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

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

touch apl.c -r apl

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

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

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

touch newfile

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

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

touch -c [имя файла]

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

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

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

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

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

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

touch -h [имя файла символической ссылки]

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.