как изменить "смещение по времени от UTC" файлов

726
lily

Я использую stat, чтобы получить информацию о файлах, я замечаю

Access: 2013-12-28 13:12:11.244573123 +0100 Modify: 2013-11-12 22:54:42.274460079 +0200 Change: 2013-12-13 12:45:08.164394887 +0100 

что +0100 +0200означает «время смещение от UTC»

Я хочу сделать вторую строку как:

Modify: 2013-11-12 22:54:42.274460079 +0100 

Как это изменить?

Спасибо!

1
Вы только что попытались (на копии `cp -p`) [touch -OptionYouNeed] (http://www.linfo.org/touch.html) это? Hastur 8 лет назад 0

2 ответа на вопрос

1
Thomas Dickey

The stat program is showing local-time for each of the access, modify and change-dates. The odd one is probably in the daylight savings time, shifting it by an hour (though November 12 seems late for this, I see the pattern in results from stat on my Debian 7 machine).

For example, my timezone is normally EST5EDT, and I see this:

$ stat vbx-minix3.2-gcc-normal-run.log File: `vbx-minix3.2-gcc-normal-run.log' Size: 164806 Blocks: 328 IO Block: 4096 regular file Device: fe01h/65025d Inode: 550759 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1001/ tom) Gid: ( 100/ users) Access: 2015-12-18 21:30:09.081845121 -0500 Modify: 2014-07-25 17:16:10.000000000 -0400 Change: 2015-09-18 19:08:03.501222363 -0400 Birth: - 

By overriding the timezone, I can see the dates all with the same offset:

$ TZ=EST5 stat vbx-minix3.2-gcc-normal-run.log File: `vbx-minix3.2-gcc-normal-run.log' Size: 164806 Blocks: 328 IO Block: 4096 regular file Device: fe01h/65025d Inode: 550759 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1001/ tom) Gid: ( 100/ users) Access: 2015-12-18 21:30:09.081845121 -0500 Modify: 2014-07-25 16:16:10.000000000 -0500 Change: 2015-09-18 18:08:03.501222363 -0500 Birth: - 

You can probably choose an equivalent TZ which omits the daylight savings time option.

What one sees depends on what their timezone is set to. The offset shown depends solely on (a) the time of the year when the change occurred and (b) the local machine configuration used to display the time.

Я не понимаю, что вы имеете в виду. Мне нужно отправить файлы кому-то еще, и я надеюсь, что когда он использует «stat», чтобы увидеть время, он может увидеть «Изменить: 2013-11-12 22: 54: 42.274460079 + 0100» вместо «Изменить: 2013- 11-12 22: 54: 42.274460079 + 0200` в его машине. lily 8 лет назад 0
0
jbrahy

Have you tried changing your TZ export?

[root@pm-prod-email01 ~]# stat /etc/sysconfig/clock File: `/etc/sysconfig/clock' Size: 27 Blocks: 8 IO Block: 4096 regular file Device: ca01h/51713d Inode: 65628 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-12-18 14:08:21.000000000 -0800 Modify: 2013-10-10 10:53:17.000000000 -0700 Change: 2013-10-10 10:53:17.000000000 -0700 [root@pm-prod-email01 ~]# TZ='Asia/Kolkata' [root@pm-prod-email01 ~]# export TZ [root@pm-prod-email01 ~]# stat /etc/sysconfig/clock File: `/etc/sysconfig/clock' Size: 27 Blocks: 8 IO Block: 4096 regular file Device: ca01h/51713d Inode: 65628 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-12-19 03:38:21.000000000 +0530 Modify: 2013-10-10 23:23:17.000000000 +0530 Change: 2013-10-10 23:23:17.000000000 +0530 [root@pm-prod-email01 ~]# 
Я не хочу менять свою систему UTC, я ТОЛЬКО хочу изменить файл UTC lily 8 лет назад 0
файлы не имеют связанных часовых поясов. они все в UTC и ваша оболочка имеет смещение. Вот источник для файловой структуры linux. http://lxr.free-electrons.com/source/include/linux/fs.h jbrahy 8 лет назад 0
Единственное, что вы можете использовать для редактирования атрибутов файла, это chattr. http://linux.die.net/man/1/chattr Это часть набора программ e2fs http://e2fsprogs.sourceforge.net/ jbrahy 8 лет назад 0
тогда как мне сделать, чтобы вторая строка стала `Изменить: 2013-11-12 22: 54: 42.274460079 + 0100`, то же самое UTC, что и две другие строки? lily 8 лет назад 0
Вы можете установить переменную окружения для одной команды без экспорта в систему, например: «TZ = Asia / Kolkata stat / etc / sysconfig / clock» jbrahy 8 лет назад 0

Похожие вопросы