Команда Touch Linux

Linux Touch Command

21 Июня 2020 | Терминал

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

Команда Touch Linux

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


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

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

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

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

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

stat file_name 

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

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

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

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

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

touch file1 

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

touch file1 file2 file3 

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

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

touch -c file1 

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

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

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

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

touch -a file1 

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

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

touch -m file1 

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

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

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

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

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

touch -d '1 June 2018 11:02' file1 

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

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

touch -d '12 June' file1 

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

use [[CC]YY]MMDDhhmm[.ss]
 

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

touch -t 06011102 file1 

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

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

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

touch -r file1 file2 

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

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

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

touch -h symlink1 

Вывод

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


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...