컴퓨터를 마지막으로 시작한 시간을 기록하는 파일이 있습니까? 나는 와 같은 쉘 명령을 사용하는 것을 좋아하지 않습니다 who -b
.
답변1
아마도 ./var/run/utmp
/var/run/utmpx
나는 strace를 사용하여 어떤 파일에 액세스하는지 확인합니다.
$ strace who -b &| grep open
...
access("/var/run/utmpx", F_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/var/run/utmp", O_RDONLY|O_CLOEXEC) = 3
...
man 5 utmp
그러면 로그인 기록이 포함된 내용을 읽을 수 있습니다 .
또한 매뉴얼에서 BOOT_TIME이 있다는 정보를 얻을 수 있습니다.
The file is a sequence of utmp structures, declared as follows in <utmp.h> (note
that this is only one of several definitions around; details depend on the version
of libc):
/* Values for ut_type field, below */
#define EMPTY 0 /* Record does not contain valid info
(formerly known as UT_UNKNOWN on Linux) */
#define RUN_LVL 1 /* Change in system run-level (see
init(1)) */
#define BOOT_TIME 2 /* Time of system boot (in ut_tv) */
Wikipedia에서 이에 대한 자세한 내용을 읽을 수 있습니다.https://en.wikipedia.org/wiki/Utmp