Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       utime, utimes - изменить последнее время доступа и изменения к inode

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <utime.h>

       int utime(const char *filename,
                 const struct utimbuf *_Nullable times);

       #include <sys/time.h>

       int utimes(const char *filename,
                 const struct timeval times[_Nullable 2]);

ОПИСАНИЕ

       Замечание: современным приложениям лучше использовать интерфейсы, описанные в utimensat(2).

       The  utime()  system call changes the access and modification times of the inode specified by filename to
       the actime and modtime fields of times respectively.  The status change time (ctime) will be set  to  the
       current time, even if the other time stamps don't actually change.

       Если значение times равно NULL, то время доступа и изменения файла устанавливаются в текущее время.

       Изменение   временных   меток  разрешено  если:  процесс  имеет  соответствующие  права  или  эффективный
       пользовательский идентификатор равен пользовательскому идентификатору файла,  или  значение  times  равно
       NULL и процесс имеет права на запись в файл.

       Структура utimbuf выглядит так:

           struct utimbuf {
               time_t actime;       /* время доступа */
               time_t modtime;      /* время изменения */
           };

       Системный вызов utime() позволяет указывать временные метки с точностью до 1 секунды.

       Системный  вызов  utimes()  выполняет  подобное  действие, но аргумент times указывает на массив, а не на
       структуру. Элементы массива представляют собой структуры  timeval,  с  помощью  которых  можно  указывать
       временные метки с точностью до 1 микросекунды . Структура timeval:

           struct timeval {
               long tv_sec;        /* секунды */
               long tv_usec;       /* микросекунды */
           };

       В  times[0]  задаётся  новое время доступа, а в times[1] новое время изменения. Если значение times равно
       NULL, то аналогично utime(), время доступа и изменения файла устанавливаются в текущее время.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

       EACCES Запрещён поиск в одном из каталогов пути path (см. также path_resolution(7)).

       EACCES Значение times равно NULL, эффективный  пользовательский  идентификатор  вызывающего  процесса  не
              совпадает  с  владельцем  файла,  вызывающий  не имеет права на запись в файл, и у вызывающего нет
              привилегий (Linux: не имеет мандата CAP_DAC_OVERRIDE или CAP_FOWNER).

       ENOENT Файл filename не существует.

       EPERM  Значение times не равно NULL, эффективный пользовательский идентификатор вызывающего  процесса  не
              совпадает с владельцем файла и у вызывающего нет привилегий (Linux: не имеет мандата CAP_FOWNER).

       EROFS  path располагается на файловой системе, доступной только для чтения.

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       utime()
              SVr4, POSIX.1-2001. POSIX.1-2008 помечает его как устаревший.

       utimes()
              4.3BSD, POSIX.1-2001.

ПРИМЕЧАНИЯ

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

СМОТРИТЕ ТАКЖЕ

       chattr(1), touch(1), futimesat(2), stat(2), utimensat(2), futimens(3), futimes(3), inode(7)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  Ovchinnikov  <dmitriyxt5@gmail.com>,  Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova
       <blackkatelv@gmail.com>, Yuri Kozlov  <yuray@komyakino.ru>,  Иван  Павлов  <pavia00@gmail.com>  и  Kirill
       Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                         utime(2)