utime(2) - wariua/manpages-ko GitHub Wiki

NAME

utime, utimes - 파일 졜근 μ ‘κ·Ό μ‹œκ°„ 및 μˆ˜μ • μ‹œκ°„ λ°”κΎΈκΈ°

SYNOPSIS

#include <sys/types.h>
#include <utime.h>

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

#include <sys/time.h>

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

DESCRIPTION

μ°Έκ³ : μ΅œμ‹  μ‘μš©μ΄λΌλ©΄ utimensat(2)μ—μ„œ κΈ°μˆ ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€ μ‚¬μš©μ„ μ„ ν˜Έν•  것이닀.

utime() μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ filename이 λ‚˜νƒ€λ‚΄λŠ” μ•„μ΄λ…Έλ“œμ˜ μ ‘κ·Ό μ‹œκ°„(access time)κ³Ό μˆ˜μ • μ‹œκ°„(modification time)을 각각 times의 actime ν•„λ“œμ™€ modtime ν•„λ“œλ‘œ λ°”κΎΌλ‹€.

timesκ°€ NULL이면 파일의 μ ‘κ·Ό μ‹œκ°„κ³Ό μˆ˜μ • μ‹œκ°„μ„ ν˜„μž¬ μ‹œκ°„μœΌλ‘œ μ„€μ •ν•œλ‹€.

νƒ€μž„μŠ€νƒ¬ν”„ 변경이 ν—ˆμš©λ˜λŠ” λ•ŒλŠ” ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ μ ˆν•œ 특ꢌ이 μžˆκ±°λ‚˜, μ‹€νš¨ μ‚¬μš©μž IDκ°€ 파일의 μ‚¬μš©μž ID와 κ°™κ±°λ‚˜, 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()μ—μ„œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 파일의 μ ‘κ·Ό μ‹œκ°„κ³Ό μˆ˜μ • μ‹œκ°„μ„ ν˜„μž¬ μ‹œκ°„μœΌλ‘œ μ„€μ •ν•œλ‹€.

RETURN VALUE

성곡 μ‹œ 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° errnoλ₯Ό 적절히 μ„€μ •ν•œλ‹€.

ERRORS

EACCES
path의 경둜 μ„ λ‘λΆ€μ˜ ν•œ 디렉터리에 λŒ€ν•΄ 탐색 κΆŒν•œμ΄ κ±°λΆ€λ˜μ—ˆλ‹€. (path_resolution(7) μ°Έκ³ .)
EACCES
timesκ°€ NULL이고, 호좜자의 μ‹€νš¨ μ‚¬μš©μž IDκ°€ 파일의 μ†Œμœ μžμ™€ μΌμΉ˜ν•˜μ§€ μ•Šκ³ , ν˜ΈμΆœμžκ°€ νŒŒμΌμ— μ“°κΈ° μ ‘κ·ΌκΆŒμ„ κ°€μ§€κ³  μžˆμ§€ μ•Šκ³ , ν˜ΈμΆœμžμ—κ²Œ 특ꢌ이 μ—†λ‹€ (λ¦¬λˆ…μŠ€: CAP_DAC_OVERRIDE μ—­λŠ₯κ³Ό CAP_FOWNER μ—­λŠ₯ μ–΄λŠ μͺ½λ„ μ—†λ‹€).
ENOENT
filename이 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€.
EPERM
timesκ°€ NULL이 μ•„λ‹ˆκ³ , 호좜자의 μ‹€νš¨ UIDκ°€ 파일의 μ†Œμœ μžμ™€ μΌμΉ˜ν•˜μ§€ μ•ŠμœΌλ©°, ν˜ΈμΆœμžμ—κ²Œ 특ꢌ이 μ—†λ‹€ (λ¦¬λˆ…μŠ€: CAP_FOWNER μ—­λŠ₯이 μ—†λ‹€).
EROFS
pathκ°€ 읽기 μ „μš© 파일 μ‹œμŠ€ν…œμ— μœ„μΉ˜ν•΄ μžˆλ‹€.

CONFORMING TO

utime(): SVr4, POSIX.1-2001. POSIX.1-2008μ—μ„œ utime()을 κ΅¬μ‹μœΌλ‘œ ν‘œμ‹œν•˜μ˜€λ‹€.

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

NOTES

λ¦¬λˆ…μŠ€μ—μ„œλŠ” λΆˆλ³€(immutable) 파일의 νƒ€μž„μŠ€νƒ¬ν”„λ₯Ό λ°”κΎΈλŠ” κ²ƒμ΄λ‚˜ λ§λΆ™μž„ μ „μš©(append-only) 파일의 νƒ€μž„μŠ€νƒ¬ν”„λ₯Ό ν˜„μž¬ μ‹œκ°„ μ•„λ‹Œ κ°’μœΌλ‘œ μ„€μ •ν•˜λŠ” 것을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

SEE ALSO

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


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️