Commandes Linux : touch

TOUCH

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 {} \;
Fermer le menu
%d blogueurs aiment cette page :