19 Stimmen

Gibt es eine Möglichkeit, die Erstellungszeit einer Datei in Ubuntu zu erfahren?

Ich benutze Ubuntu und möchte den Erstellungszeitpunkt einer Datei wissen, auch wenn sie geändert oder darauf zugegriffen wird?

31voto

Thariama Punkte 48880

Leider speichert Unix die Erstellungszeit einer Datei nicht.

Alles, was Sie bekommen können, ist stat ist

  1. Zeitpunkt des letzten Zugriffs
  2. Zeitpunkt der letzten Änderung
  3. Zeitpunkt der letzten Statusänderung

Bei Verwendung des Dateisystemtyps ext4 crtime ist verfügbar!

5voto

Attila Fulop Punkte 6451

Dieses kleine Skript kann das Erstellungsdatum für ext4 ermitteln:

#!/bin/sh

fn=`realpath $1`
echo -n "Querying creation time of $1..."
sudo debugfs -R "stat $fn" /dev/sda4|grep crtime

Ich nannte es fcrtime und steckte sie in mein ~/bin Ordner. So kann ich in jedem Ordner den Befehl wie verwenden: fcrtime example.odp

Beispielhafte Ausgabe:

crtime: 0x5163e3f0:12d6c108 -- Tue Apr 9 12:48:32 2013

Verglichen mit der Statistik der gleichen Datei:

  File: `example.odp'
  Size: 54962       Blocks: 112        IO Block: 4096   regular file
Device: 804h/2052d  Inode: 11019246    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   fulop)   Gid: ( 1000/   fulop)
Access: 2013-04-09 13:20:05.263016001 +0300
Modify: 2013-04-09 13:20:05.227016001 +0300
Change: 2013-04-09 13:20:05.227016001 +0300
 Birth: -

ANMERKUNGEN

  1. realpath ist normalerweise nicht standardmäßig installiert. In Ubuntu z.B. installieren Sie es mit sudo apt-get install realpath
  2. Ersetzen Sie /dev/sda4 wenn nötig mit der, die Sie von mount|grep ext4

3voto

Matt Joiner Punkte 105454

Das nächstgelegene verfügbare Attribut ist die "Änderungszeit", auch bekannt als ctime . Dieser wird für verschiedene Systemaufrufe aktualisiert, die den Inode und nicht die darin enthaltenen Daten verändern.

matt@stanley:~$ stat -c %z .bashrc 
2010-08-17 11:53:56.865431072 +1000

Links

1voto

MSalters Punkte 166675

Nach Angaben von http://en.wikipedia.org/wiki/Comparison_of_file_systems Diese Funktion ist für die Dateisysteme ext4, btfrs, FAT, NTFS und UDF verfügbar, sowie für einige andere, auf die Sie wahrscheinlich nicht stoßen werden. Es ist nicht verfügbar für ext2 oder ext3, die wahrscheinlich am häufigsten verwendeten Dateisystemformate in Ubuntu.

Sie benötigen allerdings einen Kernel-Patch: http://lwn.net/Articles/394391/ . Offensichtlich liegt das daran, dass Linus das Attribut "Erstellungszeit" mit der Begründung abgelehnt hat, dass jemand es "otime" und jemand anderes es "btime" genannt hat und die Idee daher nutzlos sein muss.

1voto

Franklin Piat Punkte 3246

Erstellungszeitpunkt, ist bekannt als Datei Geburtszeit und wird unterstützt auf einigen Dateisystemen, bei einigen Kerneln nur . Der Befehl würde lauten Mohsen Pahlevanzadeh Antwort:

stat --printf='%w' yourfile   #human readable

stat --printf='%W' yourfile   #seconds from Epoch , 0 if unknown

Hinweis: Diese Frage ist ein Duplikat von Wie findet man das Erstellungsdatum einer Datei? . Lesen Sie bitte auch diese Frage Welche Dateisysteme unter Linux speichern die Erstellungszeit? .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X