24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

62 2 <strong>UNIX</strong><br />

if (!access(argv[1], 0)) {<br />

if (!(stat(argv[1], &buffer))) {<br />

#ifdef DEBUG<br />

puts(argv[1]);<br />

pr<strong>in</strong>tf("atime = %ld\n", buffer.st atime);<br />

pr<strong>in</strong>tf("mtime = %ld\n", buffer.st mtime);<br />

pr<strong>in</strong>tf("ctime = %ld\n\n", buffer.st ctime);<br />

#endif<br />

p = localtime(&(buffer.st atime));<br />

pr<strong>in</strong>tf("Gelesen: %d. %d. %d %2d:%02d:%02d\n",<br />

p->tm mday, p->tm mon + 1, p->tm year, p->tm hour,<br />

p->tm m<strong>in</strong>, p->tm sec);<br />

p = localtime(&(buffer.st mtime));<br />

pr<strong>in</strong>tf("Geschrieben: %d. %d. %d %2d:%02d:%02d\n",<br />

p->tm mday, p->tm mon + 1, p->tm year, p->tm hour,<br />

p->tm m<strong>in</strong>, p->tm sec);<br />

p = localtime(&(buffer.st ctime));<br />

pr<strong>in</strong>tf("Status geaendert: %d. %d. %d %2d:%02d:%02d\n",<br />

p->tm mday, p->tm mon + 1, p->tm year, p->tm hour,<br />

p->tm m<strong>in</strong>, p->tm sec);<br />

}<br />

else {<br />

puts("Ke<strong>in</strong> Zugriff auf Inode (stat)"); return (-1);<br />

}<br />

}<br />

else {<br />

puts("File existiert nicht (access)"); return (-1);<br />

}<br />

return 0;<br />

}<br />

Programm 2.2 : C-Programm zur Anzeige der Zeitstempel e<strong>in</strong>es Files<br />

Der Zeitpunkt der Erschaffung e<strong>in</strong>es Files wird nicht festgehalten und ist<br />

auch aus technischer Sicht un<strong>in</strong>teressant 20 . Probieren Sie es aus. Änderungen<br />

an den Daten h<strong>in</strong>gegen s<strong>in</strong>d für Werkzeuge wie make(1) und für Datenbanken<br />

wichtig, um entscheiden zu können, ob e<strong>in</strong> File aktuell ist.<br />

20 Die Frage nach den drei Zeitstempeln wird <strong>in</strong> Prüfungen immer wieder falsch<br />

beantwortet. Ich wiederhole: Der Zeitpunkt der Erschaffung e<strong>in</strong>es Files wird nicht <strong>in</strong><br />

e<strong>in</strong>em Zeitstempel gespeichert. Auch an ke<strong>in</strong>er anderen Stelle. Sprechen Sie langsam<br />

und deutlich nach: E<strong>in</strong> File hat ke<strong>in</strong>en Geburtstag.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!