Команды Linux · 3 min read · Sep 19, 2025
Учебник по команде 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 newfile5. Как заставить touch не создавать новый файл
На случай, если есть строгая необходимость в том, чтобы команда touch не создавала новые файлы, вы можете использовать опцию -c.
touch -c [имя файла]Следующий скриншот показывает, что поскольку ‘newfile12’ не существовал, и мы использовали опцию командной строки -c, команда touch не создала файл.
6. Как работает touch в случае символических ссылок
По умолчанию, если вы передаете имя файла символической ссылки команде touch, изменение временных меток доступа и изменения будет происходить для оригинального файла (того, на который ссылается символическая ссылка). Однако инструмент также предлагает опцию (-h), которая позволяет вам переопределить это поведение.
Вот как страница man объясняет опцию -h:
-h, --no-dereference
воздействовать на каждую символическую ссылку вместо любого
связанного файла (полезно только на системах, которые могут
изменять временные метки символической ссылки)Таким образом, когда вы хотите изменить временные метки изменения и доступа для символической ссылки (а не оригинального файла), используйте команду touch следующим образом:
touch -h [имя файла символической ссылки]Заключение
Как вы согласитесь, команда touch не является сложной для понимания и использования. Примеры/опции, которые мы обсудили в этом учебнике, должны быть достаточными, чтобы помочь вам начать работу с инструментом. Хотя новички в основном будут использовать утилиту для создания новых файлов, более опытные пользователи также используют ее для множества других целей. Для получения дополнительной информации о команде touch перейдите на ее страницу man. Еще одной интересной командой, которую вы можете захотеть изучить, является команда tee.
Get new posts in your inbox
No spam. Unsubscribe anytime.