GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir l'âge du fichier donné ?

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

  1. Accédé
  2. Modifié
  3. 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 ?

Linux
  1. `^m` et comment s'en débarrasser ?

  2. Quand le fichier a-t-il été créé ?

  3. Obtenir l'heure de création/création du fichier ? ?

  4. Obtenir le fichier le plus récent dans un répertoire sous Linux

  5. Comment obtenir le chemin complet d'un fichier ?

Comment obtenir la date et l'heure actuelles en Python

Obtenez le temps de création de fichier avec Python sur Linux

Commande pour obtenir le temps en millisecondes

Obtenir l'heure actuelle en heures et minutes

Obtenir la longueur MP3 sous Linux / FreeBSD

sauvegarde en temps réel si fichier modifié ?