peu on récupérer la date de création d'un fichier dans un script shell ??
si oui comment
merci d'avance.
Version imprimable
peu on récupérer la date de création d'un fichier dans un script shell ??
si oui comment
merci d'avance.
Ton problème est similaire à celui-ci :
http://www.developpez.net/forums/viewtopic.php?t=183931
ben en fait, non!!!! 8O
Moi je souhaite connaitre la date de création d'un fichier et pas mettre dans une variable la date de la veuille !!
mais merci quand même !
pour la date de dernière modification.Code:man date
Pour la première création, j'ai oublié.
la commandeCitation:
Envoyé par Luc Hermitte
c'est pour l'heure sur le système.. je vois pas pourquoi tu parles de ca dans ce thread..Code:$ date
Pour la date de dernière modification, ls -l suffit amplement
La date de dernière modif est le 27 avril à 19:05Code:
1
2 $ francois@orion ~ $ ls -l file1 -rw-r--r-- 1 francois francois 16 avr 27 19:05 file1
J'en parce parce que j'ai lu son manuel ....
Alors à moins que l'implémentation de date sous cygwin soit exotique, elle permet de récupérer certaines infos sur les fichiers.
Bon, tu sembles vraiment désirer la date de création (j'avais un doute). Cela te sera donc d'aucune utilité. Mais de toutes façons, ta question n'a pas de réponse. Enfin si. :arrow: "Ce n'est pas possible".
J'ai trouvé ça dans le cache de google
Je ne suis pas d'accord avec toi Luc car on a facilement la date du fichier avec la commande stat!Citation:
Envoyé par Luc Hermitte
et pour aller plus loin j'avais oublié ceci :Code:
1
2
3 [gaby@localhost gaby]$ stat --format=%x gaby 2004-04-27 22:24:01.000000000 +0200
Code:
1
2
3 [gaby@localhost gaby]$ stat --format=%x gaby | cut -d' ' -f1 2004-04-27
Les quelques man que je vois avec google (pas de stat avec mon install de cygwin) ne donnent que trois informations : dernière modif, dernier accès, et dernier changement (...des infos relatives au fichier je crois).
Bref, pas de date de création du fichier, même avec les versions de stat qui prennent '--format' il semblerait.
ok Luc moi ma version de stat la :
Essais de voir si tu peux faire une mise à jour car en ce qui me concerce je la trouve tres pratique . Même pour faire des règles pour la sauvegarde de fichiers.Code:
1
2
3
4
5
6
7
8
9 [gaby@localhost gaby]$ stat --version stat (coreutils) 5.1.2 Écrit par Michael Meskes. Copyright (C) 2004 Free Software Foundation, Inc. Ce logiciel est libre; voir les sources pour les conditions de reproduction. AUCUNE garantie n'est donnée; tant pour des raisons COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.
Tu le trouve facilement c'est le paquet core-utils (je reconnais que toute les distributions ne l'integre pas).
bon je laisse tomber !
je ferai un programme en c qui sera lancer par script.
J'aurai voulu faire juste un script, mais bon ...
Merci a vous !!
OK, CAP38 comme tu veux, mets cependant le tag résolu .
@ tretsois, il semblerai que tu sois sur un système "exotique" qui le permette.
J'ai récupéré une version de coreutils 5.1.3, pour Mandrake je crois, et la page d'info pour stat me donne
%x ne donnera pas la date de création du fichier.Code:
1
2
3
4
5
6 * %x - Time of last access * %X - Time of last access as seconds since Epoch * %y - Time of last modification * %Y - Time of last modification as seconds since Epoch * %z - Time of last change * %Z - Time of last change as seconds since Epoch
Même chose dans le man et pourtant j'ai le même auteur. Même chose aussi si on regarde dans les sources le résultat de 'stat --help'.
@ cap38, je crains que cela ne sera pas possible non plus car le système ne stocke pas cette info. La commande stat repose sur la structure et la fonction C de même nom. Et la date de création ... elle ne connait pas. Regarde le man, 2e section, de stat et tu verras bien si la chose est possible sur ton install. Mais j'ai un gros doute.
Toutes les infos que je peux voir via google à ce sujet donnent la même réponse : ce n'est pas possible de base.
http://www.lugod.org/mailinglists/ar.../msg00013.html
on patiente un peu ....Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 2342 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 12:32:31.000000000 +0200 Modify: 2004-04-27 22:23:50.000000000 +0200 Change: 2004-04-27 22:23:50.000000000 +0200 [gaby@localhost gaby]$ cat > gaby << EOF > bonjour > EOF [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 8 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 12:32:31.000000000 +0200 Modify: 2004-04-28 12:39:35.000000000 +0200 Change: 2004-04-28 12:39:35.000000000 +0200
On voit bien apparaitre un Date d'acces à 12:32:31 qui reste la mëme alors que si je fait:Code:
1
2
3
4
5
6
7
8
9
10
11
12 [gaby@localhost gaby]$ cat >> gaby << EOF > boubou > EOF [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 15 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 12:32:31.000000000 +0200 Modify: 2004-04-28 12:44:39.000000000 +0200 Change: 2004-04-28 12:44:39.000000000 +0200
A présent on voit que cette meme date à changé car l'editeur vi sauvegarde le fichier et recopie son contenu dans un nouveau fichier qui porte le meme nom que l'ancienCode:
1
2
3
4
5
6
7
8
9
10 [gaby@localhost gaby]$ vi gaby [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 15 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 12:48:15.000000000 +0200 Modify: 2004-04-28 12:44:39.000000000 +0200 Change: 2004-04-28 12:44:39.000000000 +0200
Les deux dates qui suivent ne pas trop en concordance car ce n'est que lors d'un shutdown ou d'un nouvel à ce fichier que le transfert de la mémoire vive ou du swap s'effectue vers les disque!
Cepandant ce que dit n'est pas tout à fait faux Luc car dès qu'il y a un appel à un fichier en _ORW ces infos changes et les originaux sont définitivement perdus!!!
C'est la déclaration des fichier de type ext(x) mais je ne sais pas si avec d'autres systeme de fichier si cette information car la fonction stat Modify et Change alors que mon systeme de fichier (etx3) ne gere qu"une date d'écriture et une date d'acces.
Mais je croit que là j'ai un peu dérivé par rapport à la question initiale.
Sauf bien entendu si Cap38 fait de la programmation système mais dans ce cas il doit etre bien meilleur que moi.
je viens de refaire le test Luc et voici résultat:
Le mv final c juste pour être sur que c'est bien le fichier (physique ou l'inode ) qui est suivi.Code:
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 [gaby@localhost gaby]$ rm gaby rm: détruire fichier régulier `gaby'? o [gaby@localhost gaby]$ touch gaby [gaby@localhost gaby]$ ls -l >> gaby [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 1317 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 13:05:30.000000000 +0200 Modify: 2004-04-28 13:05:40.000000000 +0200 Change: 2004-04-28 13:05:40.000000000 +0200 [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 1317 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 13:05:30.000000000 +0200 Modify: 2004-04-28 13:05:40.000000000 +0200 Change: 2004-04-28 13:05:40.000000000 +0200 [gaby@localhost gaby]$ ls -l >> gaby [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 2634 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 13:05:30.000000000 +0200 Modify: 2004-04-28 13:06:15.000000000 +0200 Change: 2004-04-28 13:06:15.000000000 +0200 [gaby@localhost gaby]$ ls -l >> gaby [gaby@localhost gaby]$ stat gaby File: `gaby' Size: 3951 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 13:05:30.000000000 +0200 Modify: 2004-04-28 13:46:18.000000000 +0200 Change: 2004-04-28 13:46:18.000000000 +0200 [gaby@localhost gaby]$ mv gaby gaby2 [gaby@localhost gaby]$ stat gaby2 File: `gaby2' Size: 3951 Blocks: 8 IO Block: 4096 fichier régulier Device: 309h/777d Inode: 176497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ gaby) Gid: ( 501/ gaby) Access: 2004-04-28 13:05:30.000000000 +0200 Modify: 2004-04-28 13:46:18.000000000 +0200 Change: 2004-04-28 13:49:47.000000000 +0200