So ändern Sie den "Zeitversatz von UTC" von Dateien

775
lily

Ich verwende stat, um Informationen über Dateien zu erhalten

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 

das +0100 +0200Mittel "Zeitversatz von UTC"

Ich möchte die zweite Zeile machen als:

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

Wie kann man es ändern?

Vielen Dank!

1
Haben Sie gerade (auf einer `cp -p`-Kopie) versucht, [touch -OptionYouNeed] (http://www.linfo.org/touch.html) damit zu machen? Hastur vor 8 Jahren 0

2 Antworten auf die Frage

1
Thomas Dickey

Das statProgramm zeigt die Ortszeit für jeden Zugriffs-, Änderungs- und Änderungszeitpunkt an. Das eine oder andere ist wahrscheinlich in der Sommerzeit und verschiebt es um eine Stunde (obwohl der 12. November dafür zu spät erscheint, sehe ich das Muster in den Ergebnissen statauf meinem Debian 7-Rechner).

Zum Beispiel ist meine Zeitzone normalerweise EST5EDTund ich sehe Folgendes:

$ 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: - 

Durch das Überschreiben der Zeitzone kann ich die Datumsangaben alle mit demselben Versatz sehen:

$ 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: - 

Sie können wahrscheinlich ein Äquivalent wählen, bei TZdem die Option Sommerzeit weggelassen wird.

Was man sieht, hängt davon ab, was ihre Zeitzone ist. Der angezeigte Versatz hängt nur von (a) der Jahreszeit ab, zu der die Änderung aufgetreten ist, und (b) der Konfiguration des lokalen Computers, die zur Anzeige der Uhrzeit verwendet wird.

Ich verstehe nicht was du meinst. Ich muss die Dateien an einen anderen Benutzer senden, und ich hoffe, wenn er mit "stat" die Uhrzeit anzeigt, kann er "Modify: 2013-11-12 22: 54: 42.274460079 + 0100" anstelle von "Modify: 2013-" sehen. 11-12 22: 54: 42.274460079 + 0200` in seiner Maschine. lily vor 8 Jahren 0
0
jbrahy

Haben Sie versucht, Ihren TZ-Export zu ändern?

[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 ~]# 
Ich möchte mein System nicht UTC ändern, ich möchte NUR die Datei UTC ändern lily vor 8 Jahren 0
Dateien haben keine Zeitzonen zugeordnet. Sie sind alle in UTC und Ihre Shell hat den Versatz. Hier ist die Quelle für die Linux-Dateistruktur. http://lxr.free-electrons.com/source/include/linux/fs.h jbrahy vor 8 Jahren 0
Das einzige, was Sie zum Bearbeiten der Dateiattribute verwenden können, ist chattr. http://linux.die.net/man/1/chattr Es ist Teil des e2fs-Prog-Sets. http://e2fsprogs.sourceforge.net/ jbrahy vor 8 Jahren 0
Wie kann ich dann die zweite Zeile zu `Modify: 2013-11-12 22: 54: 42.274460079 + 0100` machen, der gleichen UTC wie die anderen beiden Zeilen? lily vor 8 Jahren 0
Sie können eine Umgebungsvariable für einen einzelnen Befehl festlegen, ohne für das System zu exportieren: "TZ = Asia / Kolkata stat / etc / sysconfig / clock" jbrahy vor 8 Jahren 0