Comment puis-je obtenir l'âge d'un fichier donné en jours au moins ?
Je connais bien ls -lh
et commandes similaires. Je veux quelque chose qui fonctionnera un peu comme ça :
getfage <FILE> # prints out '12d' (12 days)
De plus, cela doit être quelque peu multiplateforme puisque j'aimerais aussi l'utiliser sous Mac OS X, mais le cas d'utilisation principal est sur ma machine Linux.
REMARQUE
Étant donné que Linux ne suit pas le temps de création, je recherche une solution en deux volets :une pour mtime (linux)–c'est la dernière fois que ledit fichier a été modifié –et un pour Mac OS X, qui peut soit gérer mtime ou l'heure de création.
Réponse acceptée :
Unix ne garde pas trace d'une date de création. Les seules informations disponibles sont généralement la dernière fois que les fichiers ont été :
- Accédé
- Modifié
- Modifié
- Accès – la dernière fois que le fichier a été lu
- Modifier - la dernière fois que le fichier a été modifié (le contenu a été modifié)
- Modifier :la dernière fois que les métadonnées du fichier ont été modifiées (par exemple, les autorisations)
(D'après cette réponse )
Vous pouvez obtenir des dates liées à un fichier particulier en utilisant le stat
commande.
Exemple
$ stat ffmpeg
File: `ffmpeg'
Size: 19579304 Blocks: 38248 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 10356770 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-11-26 10:49:09.908261694 -0500
Modify: 2013-11-02 17:05:13.357573854 -0400
Change: 2013-11-02 17:05:13.357573854 -0400
OSX et HFS
Si vous utilisez OSX, le système de fichiers utilisé sous cet Unix est HFS. C'est l'un des rares (à ma connaissance) qui conserve la date de création dans le système de fichiers, ainsi que l'heure de modification, etc., comme sur les autres Unix.
extrait
Un enregistrement de fichier stocke une variété de métadonnées sur le fichier, y compris son CNID, la taille du fichier, trois horodatages (lorsque le fichier a été créé, dernière modification, dernière sauvegarde), les premières étendues de fichier des fourches et pointeurs de données et de ressources aux premiers enregistrements d'étendue de données et de ressources du fichier dans le fichier de dépassement d'étendue. L'enregistrement de fichier stocke également deux champs de 16 octets qui sont utilisés par le Finder pour stocker des attributs sur le fichier, y compris des éléments tels que son code créateur, le code de type, la fenêtre dans laquelle le fichier doit apparaître et son emplacement dans la fenêtre.
Horodatages
Les horodatages sont toujours conservés dans le système de fichiers, vous êtes donc limité par le suivi du temps qui leur est proposé (EXT3, EXT4, XFS, etc.).
En relation :Pourquoi InnoDB stocke-t-il toutes les bases de données dans un seul fichier ?Systèmes de fichiers
Si jamais vous êtes curieux, jetez un œil à ce sujet Wikipedia intitulé :Comparaison des systèmes de fichiers. Il contient la liste la plus complète de systèmes de fichiers que je connaisse, ainsi qu'un joli tableau des différentes fonctionnalités et de l'état de sa prise en charge ou non dans un système de fichiers donné.
Références
- Comment trouver la date de création du fichier ?
- Comment faire un ls puis trier les résultats par date de création ?
- Répertorier les fichiers créés le dimanche
- Obtenir le fichier créé/l'heure de création ?
- Pourquoi l'heure Unix commence-t-elle au 1970-01-01 ?