J'utilise Bash sur Debian GNU/Linux 6.0. Est-il possible d'obtenir la date et l'heure de création du fichier ? Pas la date et l'heure de modification. ls -lh a.txt
y stat -c %y a.txt
les deux ne donnent que le temps de modification.
Réponses
Trop de publicités?Malheureusement votre quête ne sera pas possible en général, car il n'y a que 3 valeurs de temps distinctes stockées pour chacun de vos fichiers comme défini par la norme POSIX (voir Définitions de base section 4.8 Mise à jour des temps de fichiers )
Chaque fichier est associé à trois horodatages distincts : l'heure du dernier accès aux données. données, l'heure de la dernière modification des données et l'heure du dernier changement d'état du fichier. et le dernier changement d'état du fichier. Ces valeurs sont retournées dans le fichier caractéristiques struct stat comme décrit dans <sys/stat.h> .
EDIT : Comme mentionné dans les commentaires ci-dessous, selon le système de fichiers utilisé, les métadonnées peuvent contenir la date de création du fichier. Notez cependant que le stockage de ce type d'information n'est pas standard. Le fait de dépendre de cette information peut conduire à des problèmes de portabilité lors du passage à un autre système de fichiers, au cas où celui qui est réellement utilisé la stocke de toute façon.
ls -i file #output is for me 68551981
debugfs -R 'stat <68551981>' /dev/sda3 # /dev/sda3 is the disk on which the file exists
#results - crtime value
[root@loft9156 ~]# debugfs -R 'stat <68551981>' /dev/sda3
debugfs 1.41.12 (17-May-2010)
Inode: 68551981 Type: regular Mode: 0644 Flags: 0x80000
Generation: 769802755 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 38973440
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 76128
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
atime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013
mtime: 0x526931d7:1697cce0 -- Thu Oct 24 16:42:31 2013
**crtime: 0x52691f4d:7694eda4 -- Thu Oct 24 15:23:25 2013**
Size of extra inode fields: 28
EXTENTS:
(0-511): 352633728-352634239, (512-1023): 352634368-352634879, (1024-2047): 288392192-288393215, (2048-4095): 355803136-355805183, (4096-6143): 357941248-357943295, (6144
-9514): 357961728-357965098
La réponse de mikyra est bonne. le fait est juste comme ce qu'il a dit.
[jason@rh5 test]$ stat test.txt
File: `test.txt'
Size: 0 Blocks: 8 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 588720 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jason) Gid: ( 500/ jason)
Access: 2013-03-14 01:58:12.000000000 -0700
Modify: 2013-03-14 01:58:12.000000000 -0700
Change: 2013-03-14 01:58:12.000000000 -0700
Si vous voulez vérifier quel fichier a été créé en premier, vous pouvez structurer votre nom de fichier en ajoutant la date système lorsque vous créez une série de fichiers.
Notez que si vous avez monté votre système de fichiers avec noatime pour des raisons de performance, alors atime indiquera probablement l'heure de création. Étant donné que noatime entraîne une augmentation massive des performances (en supprimant une écriture sur le disque à chaque fois qu'un fichier est lu), il peut s'agir d'une option de configuration judicieuse qui vous donne également les résultats que vous souhaitez.
- Réponses précédentes
- Plus de réponses