Installé avec le paquet coreutils
Voir aussi : mkdir, ls, stat et find
Afficher la version de la commande touch
touch --version
ou
apt-cache policy coreutils
Renouveler les atime mtime et ctime d’un fichier ou créer un fichier s’il n’existe pas :
touch filename
Les date de dernière modification (mtime), de dernier accès (atime) et de dernier changement de statut (ctime) du fichier sont alors mises à jour.
Rmq : Pour afficher l’horodatage d’un fichier, voir la commande stat.
Renouveler uniquement les atime mtime et ctime d’un fichier, sans créer de fichier s’il n’existe pas :
touch -c filename
Evite la création du fichier si ce dernier n’existe pas.
Renouveler uniquement le atime d’un fichier :
touch -c filename
La date de dernier accès au fichier est alors mise à jour.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour.
Renouveler uniquement le mtime d’un fichier :
touch -m filename
La date de dernière modification du fichier est alors mise à jour.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour.
Définir le mtime d’un fichier en le spécifiant :
touch -t [YYYY]MMJJhhmm[.SS] filename
La date de dernière modification du fichier est alors mise à jour.
L’année et les secondes peuvent être occultées, l’année en cours étant utilisée par défaut, et les secondes mises à 00 par défaut.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour (date et heure actuelles).
ex :
# touch -t 201601310000.00 fichier
Equivaut à :
# touch -t 01310000 file1.txt
# stat file1.txt
Fichier : « file1.txt »
Taille : 0 Blocs : 0 Blocs d'E/S : 4096 fichier vide
Périphérique : 801h/2049d Inœud : 793523 Liens : 1
Accès : (0644/-rw-r--r--) UID : ( 0/ root) GID : ( 0/ root)
Accès : 2016-01-31 00:00:00.000000000 +0100
Modif. : 2016-01-31 00:00:00.000000000 +0100
Changt : 2016-11-24 21:17:58.477136369 +0100
Créé : -
Le mtime passe à 00:00 le 31/01/2016.
touch -d "string" filename
Si l’heure n’est pas spécifiée, elle est établie à 00h00.
Si la date n’est pas spécifiée, elle est établie à la date actuelle.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour (date et heure actuelles)
ex :
# touch -d "2015-01-30 15:30" file1.txt
# touch -d "15:30" file1.txt
Définir le atime d’un fichier en le spécifiant :
touch -a -t [YYYY]MMJJhhmm[.SS] filename
La date de dernier accès au fichier est alors mise à jour.
L’année et les secondes peuvent être occultées, l’année en cours étant utilisée par défaut, et les secondes mises à 00 par défaut.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour (date et heure actuelles).
touch -a -d "string" filename
Si l’heure n’est pas spécifiée, elle est établie à 00h00.
Si la date n’est pas spécifiée, elle est établie à la date actuelle.
Rmq : La date de dernier changement de statut (ctime) est également mise à jour (date et heure actuelles).
ex :
# touch -a -d "2015-01-30 15:30" file1.txt
# touch -a -d "15:30" file1.txt
Copier les atime mtime et ctime d’un fichier en l’utilisant comme référence pour un autre fichier :
touch -r reffilename filename
Copie l’horodatage de reffilename (la référence) sur filename.
ex :
# ls -latu file1.txt file2.txt
-rw-r--r-- 1 root root 0 nov. 24 21:09 file2.txt
-rw-r--r-- 1 root root 0 janv. 31 2016 file1.txt
# touch -r file1.txt file2.txt
# ls -latu file1.txt file2.txt
-rw-r--r-- 1 root root 0 janv. 31 2016 file1.txt
-rw-r--r-- 1 root root 0 janv. 31 2016 file2.txt
Le fichier file2.txt se voit affecté l’horodatage du fichier file1.txt, ce dernier lui ayant servi de référence.
Créer plusieurs fichiers en une seule fois :
touch file{1..10}.txt
Crée file1.txt, file2.txt, etc. jusqu’à file10.txt
touch file-{a..z}.txt
Crée file-a.txt, file-b.txt, etc. jusqu’à file-z.txt
touch file.{png,jpg,bmp,tif}
Crée file.png, file.jpg, file.bmp et file.tif
touch destination/{file{3,4}.txt,.file{1,2}.txt}
Crée, dans le répertoire destination, les fichiers .file1.txt, .file2.txt, file3.txt et file4.txt
Renouveler récursivement les atime mtime et ctime de tout le contenu d’un dossier :
find dossier -exec touch {} \;
ou
find dossier -exec touch {} +
ou
find dossier -print0 | xargs -0 touch
ex :
find . -exec touch {} \;