Manipulation des horodatages de fichiers avec touch
La commande touch
vous permet non seulement de créer des fichiers, mais aussi de mettre à jour leurs horodatages. Cela est utile pour les tests ou lorsque vous avez besoin de synchroniser les horodatages entre les fichiers.
Mise à jour de tous les horodatages
Pour mettre à jour tous les horodatages (accès, modification et changement) à l'heure actuelle :
touch testfile.txt
Vérifiez les horodatages :
stat testfile.txt
Sortie :
File: testfile.txt
Size: 19 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2101099 Links: 1
Access: (0640/-rw-r-----) Uid: (1000/labex) Gid: (1000/labex)
Access: 2023-05-15 14:45:10.000000000 +0000
Modify: 2023-05-15 14:45:10.000000000 +0000
Change: 2023-05-15 14:45:10.000000000 +0000
Birth: -
Mise à jour uniquement de l'heure d'accès
Pour mettre à jour uniquement l'heure d'accès :
touch -a testfile.txt
Vérifiez les horodatages :
stat testfile.txt
Sortie :
File: testfile.txt
Size: 19 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2101099 Links: 1
Access: (0640/-rw-r-----) Uid: (1000/labex) Gid: (1000/labex)
Access: 2023-05-15 14:46:15.000000000 +0000
Modify: 2023-05-15 14:45:10.000000000 +0000
Change: 2023-05-15 14:46:15.000000000 +0000
Birth: -
Notez que l'heure de changement (ctime) est également mise à jour car les métadonnées du fichier ont changé.
Mise à jour uniquement de l'heure de modification
Pour mettre à jour uniquement l'heure de modification :
touch -m testfile.txt
Vérifiez les horodatages :
stat testfile.txt
Sortie :
File: testfile.txt
Size: 19 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2101099 Links: 1
Access: (0640/-rw-r-----) Uid: (1000/labex) Gid: (1000/labex)
Access: 2023-05-15 14:46:15.000000000 +0000
Modify: 2023-05-15 14:47:20.000000000 +0000
Change: 2023-05-15 14:47:20.000000000 +0000
Birth: -
Encore une fois, l'heure de changement est également mise à jour.
Définition d'horodatages spécifiques
Vous pouvez définir un horodatage spécifique en utilisant l'option -d
avec touch
:
touch -d "2023-01-01 12:00:00" testfile.txt
Vérifiez les horodatages :
stat testfile.txt
Sortie :
File: testfile.txt
Size: 19 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2101099 Links: 1
Access: (0640/-rw-r-----) Uid: (1000/labex) Gid: (1000/labex)
Access: 2023-01-01 12:00:00.000000000 +0000
Modify: 2023-01-01 12:00:00.000000000 +0000
Change: 2023-05-15 14:48:30.000000000 +0000
Birth: -
Cela définit à la fois l'heure d'accès et l'heure de modification au 1er janvier 2023, à 12 h 00. L'heure de changement est toujours mise à jour à l'heure actuelle.
Création d'un nouveau fichier avec les horodatages d'un fichier existant
Vous pouvez également utiliser l'option -r
pour référencer les horodatages d'un autre fichier :
## Create a new file
touch newfile.txt
## Set its timestamps based on testfile.txt
touch -r testfile.txt newfile.txt
Vérifiez les horodatages du nouveau fichier :
stat newfile.txt
Sortie :
File: newfile.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 801h/2049d Inode: 2101100 Links: 1
Access: (0644/-rw-r--r--) Uid: (1000/labex) Gid: (1000/labex)
Access: 2023-01-01 12:00:00.000000000 +0000
Modify: 2023-01-01 12:00:00.000000000 +0000
Change: 2023-05-15 14:49:45.000000000 +0000
Birth: -
Les heures d'accès et de modification de newfile.txt
correspondent maintenant à celles de testfile.txt
.