Find -ctime et ls

tlep Messages postés 597 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je ne comprends pas certaines nuances concernant les dates de fichiers:

Pour rechercher les fichiers créés il y a 20 jours, je tape :

find /LOG/ -type f -ctime 20 -exec ls -l {} \; |awk '{print $6}'|sort|uniq

Et là j'obtiens 2 dates différentes (!!!!) :
2007-06-28
2007-07-02

Bizarre en soi !

Mais en plus, si je tape
date -d "20 day ago" +'%Y-%m-%d'

eh bien j'obtiens "2007-07-07" !

Du coup je ne comprends plus grand chose !!

Merci pour vos suggestions !
Configuration: Windows XP
Firefox 2.0.0.4

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    Parce que -exec ls -l affiche les dates de modifications, pas de création.
    et avec -exec ls -lc ?
    0
  2. tlep Messages postés 597 Statut Membre 118
     
    ah ben -c pour ls revient au meme que -ctime pour find apparemment :

    man ls :
    ls -c :
    Trier le contenu des repertoires en fonction des dates de changement des statuts de fichiers, plutot qu'en fonction de la date de modification. S'il s'agit d'un format long, afficher la date de changement de statut plutot que la date de modification du fichier

    man find :
    -ctime n
    derniere modification du statut du fichier il y a n*24 heures.

    Donc ca ne devrait pas donner 2 dates différentes non ??
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    Les dates seront les mêmes si le fichier n'a pas été modifié depuis sa création
    rajouter des données >> log modifie la date de dernière modification
    un chmod, chown ou chgrp modifie la date de création (ou status)
    certain prog. de sauvegarde modifient cette date pour savoir ce qui a été sauvé
    0