- Пользовательские команды
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- ОПЦИИ
- touch
- settime
- ОПЕРАНДЫ
- touch
- ИСПОЛЬЗОВАНИЕ
- ПЕРЕМЕННЫЕ СРЕДЫ
- СТАТУС ВЫХОДА
- АТРИБУТЫ
- ССЫЛКИ
- ПРИМЕЧАНИЯ
- Использование команды touch в Linux
- Используем команду touch в Linux
- Синтаксис
- Генерация пустых файлов
- Установка времени последнего доступа
- Установка времени последнего изменения
- Запрет на создание объекта
- Установка времени доступа и изменений
- Перенос временных меток выбранного файла
- Создание файла с указанным временем
Пользовательские команды
НАЗВАНИЕ
touch, settime — изменение времени доступа и времени модификации файла
СИНТАКСИС
ОПИСАНИЕ
Утилита touch устанавливает время доступа и время модификации указанных файлов. Если файл не существует, он создается.
Время может задаваться опцией -t время, соответствующими значениями атрибутов времени файла, указанного в опции -r базовый_файл, или с помощью операнда дата_и_время. Если время одним из этих способов явно не задано, утилита touch использует текущее время (значение, возвращаемое функцией time(2)).
Если не указаны ни опция -a, ни опция -m, утилита touch изменяет и время модификации, и время доступа.
Утилита settime эквивалентна вызову touch -c.
ОПЦИИ
touch
Утилита touch поддерживает следующие опции:
-a Изменять время доступа к файлу. Не изменять время модификации, если одновременно не указана опция -m.
-c Не создавать указанный файл, если он не существует. Не выдавать никаких диагностических сообщений в этом случае.
-m Изменять время модификации файла. Не изменять время доступа, если одновременно не указана опция -a.
-r базовый_файл Использовать соответствующие атрибуты времени базового_файла, а не текущее время.
-t время Использовать вместо текущего указанное время. Время задается десятичным числов вида: [[CC]YY]MMDDhhmm[.SS]
где каждая пара цифр представляет следующее:
MM | Месяц года 7. |
DD | День месяца 2. |
hh | Час дня 20. |
mm | Минута часа 37. |
CC | Первые две цифры года. |
YY | Последние две цифры года. |
SS | Секунда минуты 59. |
Значения CC и YY — не обязательны. Если ни одно из них не задано, предполагается текущий год. Если указано значение YY, но не указано CC, значение CC определяется следующим образом:
Если YY в диапазоне: | CC становится: |
69-99 | 19 |
00-38 | 20 |
39-68 | ОШИБКА |
На результирующее время будет влиять значение переменной среды TZ. Если результирующее время окажется раньше начала эры UNIX (Epoch, 1 января 1970 года), touch немедленно завершит работу с ошибочным статусом выхода. Диапазон допустимых времен — с 1 января 1970 года по 18 января 2038 года.
Для SS допустимый диапазон значений — 49, а не 14, из-за набегающих в году дополнительных секунд (leap seconds). Если SS имеет значение 60 или 61, и результирующее время, с учетом значение переменной среды TZ, не ссылается на дополнительную секунду, результирующее время будет на одну или две секунды больше, чем если бы параметр SS имел значение 59. Если значение SS не задано, предполагается 0.
settime
Утилита settime поддерживает следующую опцию:
-f базовый_файл Использовать соответствующие атрибуты времени базового_файла, а не текущее время.
ОПЕРАНДЫ
Обе утилиты, touch и settime, поддерживают следующий операнд:
файл Имя файла, атрибуты времени которого будут изменяться.
touch
Утилита touch поддерживает следующий операнд:
дата_и_время Использовать указанную дату_и_время вместо текущего времени. Этот операнд представляет собой десятичное число вида: MMDDhhmm[YY]
где каждая пара цифр представляет следующее:
MM | Месяц года 6. |
DD | День месяца 20. |
hh | Час дня 1. |
mm | Минута часа 15. |
YY | Последние две цифры года. |
Значение YY — не обязательно. Если оно не указано, предполагается текущий год. Если значение YY указано, год определяется следующим образом:
YY | Соответствующий год |
69-99 | 1969-1999 |
00-38 | 2000-2038 |
39-68 | ОШИБКА |
Если ни опция -r, ни опция -t не указана, задано минимум два операнда и первый операнд — восьми- или десятизначное десятичное число, первый операнд будет считаться операндом дата_и_время; в противном случае, первый операнд считается файлом.
ИСПОЛЬЗОВАНИЕ
Описание работы утилиты touch с файлами, размер которых превосходит 2 Гбайта (2**31 байтов) см. на странице справочного руководства largefile(5).
ПЕРЕМЕННЫЕ СРЕДЫ
Описание следующих переменных среды, влияющих на работу touch, см. на странице справочного руководства environ(5): LANG, LC_ALL, LC_CTYPE, LC_MESSAGES и NLSPATH.
TZ Задает часовой пояс, который будет использоваться при интерпретации аргумента опции время или операнда дата_и_время.
СТАТУС ВЫХОДА
Программа завершается со следующими значениями статуса выхода:
0 | Утилита touch сработала успешно, и все требуемые изменения были выполнены. |
>0 | Произошла ошибка. Утилита touch вернула количество файлов, атрибуты времени для которых не удалось успешно изменить. |
АТРИБУТЫ
Описание следующих атрибутов см. на странице справочного руководства attributes(5):
ТИП АТРИБУТА | ЗНАЧЕНИЕ АТРИБУТА |
Доступен в пакете | SUNWcsu |
CSI | включено |
ССЫЛКИ
ПРИМЕЧАНИЯ
Пользователи, знакомые со средой BSD, могут обнаружить, что для утилиты touch опция -f принимается, но игнорируется. Опция -f не нужна, потому что touch успешно выполнится для всех файлов, принадлежащих пользователю, независимо от прав доступа к ним.
Последнее изменение: 2 марта 1998 года
Copyright 2002 В. Кравчук, OpenXS Initiative, перевод на русский язык
Источник
Использование команды touch в Linux
Как известно, в операционных системах Linux присутствует огромное количество встроенных терминальных команд, выполняющих самые разнообразные действия. Некоторые из них позволяют устанавливать программы, другие предназначены для управления логическими томами и жесткими дисками. Существуют среди них и те, которые созданы для взаимодействия с файлами. Одна из таких команд называется touch, и именно о ней мы и хотим рассказать в рамках данного обучающего материала.
Используем команду touch в Linux
Для использования команды touch в Linux потребуется изучить ее синтаксис и понять принципы ввода. С этим не должно возникнуть никаких проблем, поскольку сама утилита довольно проста, а с доступными опциями можно разобраться буквально за несколько минут. Давайте как раз и начнем с этого.
Синтаксис
Обратим внимание на стандартный вид строки при вводе команды touch. Она выглядит так: touch + [Опции] + Файл . Если же действие нужно осуществить от имени суперпользователя, в начале строки придется добавить sudo, а после ее активации написать пароль, подтверждающий учетную запись. Что касается дополнительных опций, то стоит отметить следующие:
- ––help и ––version используются редко. Первая опция даст возможность прочесть официальную документацию, а вторая отобразит текущую версию утилиты.
- -a отвечает за изменение времени доступа к указанному файлу.
- -m изменяет время модификации.
- -c определяет, что объект с указанным именем создан не будет.
- -r позволит использовать время доступа и модификации указанного файла.
- -t предназначена для изменения даты и времени путем ручного ввода.
- -d использует дату и время, заданные в виде строки.
Теперь вы знаете абсолютно обо всех доступных опциях рассматриваемой сегодня команды. Давайте перейдем к изучению параметров, чтобы разобраться со всеми основными действиями, выполняемыми при помощи данной утилиты.
Генерация пустых файлов
Для начала разберемся с действием команды touch без применения каких-либо аргументов — так она создает пустой файл размером 0 байт с указанным названием.
- Откройте «Терминал» удобным для вас образом, например, через значок в меню приложений или комбинацию клавиш Ctrl + Alt + T.
После активации этой команды, если она прошла без каких-либо ошибок, появится новая строка для ввода, а в текущем расположении создастся соответствующий объект.
Вы можете добавить несколько файлов одновременно, по очереди написав название каждого, чтобы получилась примерно такая строка: touch testfile1 testfile2 testfile3 .
Имеется одна особенность, которую тоже следует учитывать. Если появилась надобность создать несколько файлов с одинаковым названием, но с разными цифрами в конце, как это было показано выше, проще использовать такой тип написания: touch testfile <1..6>.
Больше команда touch без применения аргументов ничего сделать не способна, поэтому давайте сразу же перейдем к разбору примеров взаимодействия с опциями.
Установка времени последнего доступа
Как вы уже знаете, одна из опций рассматриваемой команды разрешает изменить время доступа к файлу на текущее. Осуществляется это путем ввода всего одной строки которая имеет вид touch -a file , где file — имя необходимого объекта. Количество перечисляемых элементов для одной строки не ограничивается. При этом время последнего изменения не устанавливается, если только в данной строке не дописана дополнительная опция -m, о ней мы и поговорим далее.
Установка времени последнего изменения
По той же аналогии работает и упомянутый выше аргумент -m. Ое переназначает время последнего изменения на текущее, а строка выглядит так: touch -m file . Все внесенные изменения вступают в действие сразу же, а это значит, что вы можете переходить к их проверке или к выполнению других задач, ради которых и вызывалась команда touch с опцией -m.
Запрет на создание объекта
Простая утилита touch иногда позволяет реализовать и сложную цель путем ввода буквально одной строки в консоль. После выполнения команды touch -c file , где file — точное название нужного файла, элемент с указанным именем нельзя будет создать обычному пользователю. Деактивируется эта опция только после того, как привилегированный пользователь создаст пустой объект с таким же названием через эту же команду. Дополнительно ничего не мешает вам создать список из названий, чтобы одновременно установить на них ограничения.
Установка времени доступа и изменений
Приведенные выше опции -a и -m позволяли только изменить параметры файла, установив текущее время, однако имеется возможность задать абсолютно любое время с точностью до секунды. При этом главное — соблюдать правило ввода: [[ВВ]ГГ]ММДДччммм[.сс] , где ВВ — первые две цифры года, ГГ — вторые, ММ — месяц, ДД — дата, чч — часы, мм — минуты, сс — секунды. Необходимая команда получается такой: touch -c -t 01261036 file .
Если вы заинтересованы в просмотре итогового результата, напишите в консоли ls -l и нажмите на Enter. В списке остается только отыскать необходимый файл и просмотреть, когда он был модифицирован.
Перенос временных меток выбранного файла
Если вы ознакомились с приведенной выше информацией, то знаете, что опция -r разрешит перенести временные метки одного объекта на другой. Осуществляется это через строку: touch -r file1 file2 , где file1 — уже имеющийся файл с определенными временными метками, а file2 — новый объект, к которому они и будут применены.
Создание файла с указанным временем
В конце данного материала отметим, что по умолчанию touch создает файлы с актуальным временем, однако это можно изменить, применив всего одну опцию: touch -t 201912101830.55 file , где 201912101830.55 — точно указанное время на ваш выбор, а file — название того самого объекта или объектов, если они будут представлены в виде списка.
Теперь вы знакомы с командой touch, которая активно используется в Linux для создания файлов. Это могут быть как отдельные тестовые элементы, так и объекты, добавленные для определенных целей. Пользователь уже сам решает, в каком русле применять возможности утилиты. Если вас заинтересовала тема основных команд этой операционной системы, предлагаем изучить представленные далее материалы.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник