IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Distributions Discussion :

Commande pour connaitre l'heure de creation d'un fichier qui a plus d'un an


Sujet :

Distributions

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 26
    Points : 28
    Points
    28
    Par défaut Commande pour connaitre l'heure de creation d'un fichier qui a plus d'un an
    Bonjour,

    Bon ben tout est dans le titre, j'aimerais savoir s'il est possible de connaitre la date de creation d'un fichier qui a plus d'un an ?

    En fait quand le fichier a moins d'un an, le ls -l suffit, mais quans il a plus d'un an il donne l'année à la place de l'heure.
    Donc est il possble de connaitre l'heure de creation d'un fichier qui a plus d'un an ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    T'as essayé avec stat ?

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    ~/Documents/c # cat lsdates.c
    #define _POSIX_C_SOURCE 1
     
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    /*
     * ce minisource permet juste de voir les vrais dates de
     * modification du fichier
     * d'acces au fichier
     * modification des parametres du fichiers
     *
     * l'auteur declare ce source libre de droit
    */
     
    static void printdate(char*, time_t);
    //fonction de formattage du format de la date et de l'heure pour
    //un affichage clair des lignes de texte
     
     
    //le programme doit recevoir en parametre le nom du fichier a analyser ou des fichiers a analyser
    int main(int argc, char *argv[])
    {
            int i ; // compteur d'arguments autrement dit de fichier a analyser
                    // sera aussi utiliser pour identifier sur quel fichier la boucle travaille
                    // a l'instant t
     
            for(i=1;i<argc;i++) //pour tout argument a la ligne de commande .....
            {
                    struct stat statbuf;
                    if(stat(argv[i], &statbuf) == -1 )
                    {
                            //genere une erreur proprement
                            perror(argv[i]);
                            continue; // mais passe directement a l'argument suivant
                                      // evidament car inutile de tanter de traiter un
                                      // argument invalide ce serai une perte de temps
                    }
                    printf("\n %s\n", argv[i]);
                    printdate("<= DERNIER ACCES" , statbuf.st_atime);
                    printdate("<= DERNIERE MODIFICATION" , statbuf.st_mtime);
                    printdate("<= DERNIERE MODIF DE CARACTERISTIQUE" , statbuf.st_ctime);
                    printf("\n");
            }
            return EXIT_SUCCESS;
    }
     
    static void printdate(char *s, time_t d)
    {
            struct tm *tm = localtime(&d);
            // le reste n'est que pure mise en forme
            printf("\n%02d/%02d/%02d-%02d:%02d:%02d - %s",
                    tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday,
                    tm->tm_hour, tm->tm_min, tm->tm_sec, s);
    }
    affiche ce genre d'information :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    ~/Documents/c # gcc -Wall -O9 lsdates.c -o lsdates && strip lsdates
    ~/Documents/c # ./lsdates ../*
     
     ../NAS
     
    2007/07/08-16:44:03 - <= DERNIER ACCES
    2007/07/01-02:19:29 - <= DERNIERE MODIFICATION
    2007/07/01-02:19:43 - <= DERNIERE MODIF DE CARACTERISTIQUE
     
     ../c
     
    2007/07/10-21:03:02 - <= DERNIER ACCES
    2007/07/10-21:02:41 - <= DERNIERE MODIFICATION
    2007/07/10-21:02:41 - <= DERNIERE MODIF DE CARACTERISTIQUE
     
     ../fp
     
    2007/07/10-17:02:17 - <= DERNIER ACCES
    2007/07/01-02:20:22 - <= DERNIERE MODIFICATION
    2007/07/01-02:20:51 - <= DERNIERE MODIF DE CARACTERISTIQUE
     
     ../fp.csv
     
    2007/07/08-18:41:59 - <= DERNIER ACCES
    2007/07/08-16:36:45 - <= DERNIERE MODIFICATION
    2007/07/08-16:43:50 - <= DERNIERE MODIF DE CARACTERISTIQUE
    faut adapter et voir si stat permet de remonter la création mais je suppose que oui.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/03/2008, 15h01
  2. [ASE 11.9.2]Cherche commande pour connaitre le charset utilisé par une base
    Par battit64000 dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 29/04/2007, 01h24
  3. Réponses: 2
    Dernier message: 29/04/2007, 01h24
  4. Réponses: 5
    Dernier message: 02/10/2006, 13h35
  5. Réponses: 2
    Dernier message: 23/03/2004, 11h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo