{"id":7605,"date":"2026-05-19T09:58:01","date_gmt":"2026-05-19T07:58:01","guid":{"rendered":"https:\/\/la-redactrice-web.fr\/blog\/?p=7605"},"modified":"2026-05-19T09:58:01","modified_gmt":"2026-05-19T07:58:01","slug":"touch-linux","status":"publish","type":"post","link":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/","title":{"rendered":"touch linux"},"content":{"rendered":"<h1>Utiliser la Commande Touch sous Linux : Guide Complet pour Cr\u00e9er et Modifier des Fichiers<\/h1>\n<div style=\"background:linear-gradient(135deg,#1a3a5a 0%,#2a4d70 100%);color:#f5f7fa;padding:24px 28px;margin:24px 0;border-radius:10px;box-shadow:0 4px 12px rgba(26,58,90,0.18)\">\n<div style=\"font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:0.75;margin-bottom:8px\">CLI Essentials \u00b7 GNU Coreutils<\/div>\n<div style=\"font-size:22px;font-weight:600;line-height:1.35;margin-bottom:10px\">touch en 30 secondes<\/div>\n<p style=\"margin:0;line-height:1.65;font-size:15px\">Une commande l\u00e9g\u00e8re pour <strong>cr\u00e9er des fichiers vides<\/strong> ou <strong>modifier l&rsquo;horodatage<\/strong> (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD, les watchers front-end, les jobs cron et les recettes Ansible.<\/p>\n<\/div>\n<h2>Qu&rsquo;est-ce que la commande touch ?<\/h2>\n<p>Au c\u0153ur des utilitaires GNU, <strong>touch<\/strong> sert \u00e0 cr\u00e9er un fichier vide s&rsquo;il n&rsquo;existe pas, sinon \u00e0 <strong>modifier<\/strong> l&rsquo;<strong>heure<\/strong>\/date d&rsquo;<strong>acc\u00e8s<\/strong> (<u>atime<\/u>) et de <strong>modification<\/strong> (<u>mtime<\/u>) d&rsquo;un fichier ou d&rsquo;un ensemble de fichiers, sans toucher au contenu. L&rsquo;<u>atime<\/u> refl\u00e8te le dernier acc\u00e8s en lecture, tandis que l&rsquo;<u>mtime<\/u> correspond \u00e0 la derni\u00e8re modification de donn\u00e9es. La <u>ctime<\/u> indique, elle, la derni\u00e8re modification des m\u00e9tadonn\u00e9es (permissions, propri\u00e9taire, lien), ce que <strong>touch<\/strong> ne param\u00e8tre pas directement, bien que l&rsquo;op\u00e9ration de mise \u00e0 jour d&rsquo;horodatage puisse, selon le syst\u00e8me de fichiers, impacter la <u>ctime<\/u> par effet indirect.<\/p>\n<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:22px 0\">\n<div style=\"background:#f5f8fb;border-left:4px solid #1a3a5a;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#1a3a5a;font-weight:700;margin-bottom:6px\">atime<\/div>\n<div style=\"font-size:14px;line-height:1.55;color:#2b2b2b\">Dernier <strong>acc\u00e8s en lecture<\/strong> au fichier. Affichage via <code>ls -lu<\/code>.<\/div>\n<\/div>\n<div style=\"background:#f5f8fb;border-left:4px solid #2a5a7d;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#2a5a7d;font-weight:700;margin-bottom:6px\">mtime<\/div>\n<div style=\"font-size:14px;line-height:1.55;color:#2b2b2b\">Derni\u00e8re <strong>modification du contenu<\/strong>. Affichage via <code>ls -l<\/code>.<\/div>\n<\/div>\n<div style=\"background:#f5f8fb;border-left:4px solid #3d6f95;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#3d6f95;font-weight:700;margin-bottom:6px\">ctime<\/div>\n<div style=\"font-size:14px;line-height:1.55;color:#2b2b2b\">Derni\u00e8re modification des <strong>m\u00e9tadonn\u00e9es<\/strong> (permissions, owner). <code>ls -lc<\/code>.<\/div>\n<\/div>\n<\/div>\n<p>Nous l&rsquo;utilisons pour pr\u00e9parer des jeux d&rsquo;essai, lancer des rebuilds bas\u00e9s sur les dates, d\u00e9clencher des <strong>watchers<\/strong> front-end, ou stabiliser des tests d\u00e9pendants d&rsquo;ordonnancements temporels. Cette commande, l\u00e9g\u00e8re et fiable, se glisse dans des scripts shell, des jobs <strong>cron<\/strong>, des pipelines <strong>Jenkins<\/strong> (int\u00e9gration continue, <strong>CloudBees<\/strong>, secteur DevOps) ou des recettes <strong>Ansible<\/strong> (automatisation IT, <strong>Red Hat<\/strong>, \u00e9diteur open source). Sur des environnements de formation, elle clarifie des exercices sur les permissions et les <u>timestamps<\/u>, tout en ancrant la compr\u00e9hension des attributs syst\u00e8me.<\/p>\n<ul>\n<li><u>D\u00e9finition essentielle<\/u> : <strong>touch<\/strong> cr\u00e9e un fichier vide et\/ou ajuste <strong>atime<\/strong>\/<strong>mtime<\/strong>, en laissant le contenu intact.<\/li>\n<li><strong>Usages types<\/strong> : scaffolding de projets, d\u00e9clenchement d&rsquo;outils sensibles au <u>mtime<\/u>, pr\u00e9paration d&rsquo;environnements de test reproductibles.<\/li>\n<li><strong>Contexte<\/strong> : administration, d\u00e9veloppement logiciel, CI\/CD, p\u00e9dagogie UNIX.<\/li>\n<\/ul>\n<h2>Syntaxe et options de la commande touch<\/h2>\n<p>La <strong>syntaxe<\/strong> standard s&rsquo;\u00e9crit : <code>touch [options] fichier1 fichier2 \u2026<\/code>. Sans option, la commande cr\u00e9e les fichiers manquants, ou met \u00e0 jour l&rsquo;<strong>atime<\/strong> et le <strong>mtime<\/strong> \u00e0 l&rsquo;horloge syst\u00e8me. Selon la page de manuel et la documentation GNU, on privil\u00e9gie des options lisibles et des formats d\u00e9terministes pour les pipelines. Les variantes les plus utiles couvrent la s\u00e9lection d&rsquo;attributs, la lecture d&rsquo;une date lisible, le format compact, et la r\u00e9f\u00e9rence \u00e0 un autre fichier.<\/p>\n<div style=\"background:#0f1d2e;color:#e8eef5;padding:18px 22px;margin:20px 0;border-radius:8px;font-family:'JetBrains Mono','Consolas',monospace;font-size:13.5px;line-height:1.7;overflow-x:auto\">\n<div style=\"color:#7da3c4;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px\">$ syntax<\/div>\n<pre style=\"margin:0;color:#e8eef5;white-space:pre-wrap;font-family:inherit\">touch [OPTIONS] FICHIER...\ntouch -t [[CC]YY]MMDDhhmm[.ss] FICHIER\ntouch -d \"YYYY-MM-DD HH:MM:SS\" FICHIER\ntouch -r FICHIER_REF FICHIER<\/pre>\n<\/div>\n<p>Les <strong>options<\/strong> cl\u00e9s \u00e0 conna\u00eetre :<\/p>\n<div style=\"overflow-x:auto;margin:18px 0\">\n<table style=\"width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid #d8e0e8\">\n<thead>\n<tr style=\"background:#1a3a5a;color:#fff\">\n<th style=\"padding:12px 14px;text-align:left;font-weight:600;letter-spacing:0.5px\">Option<\/th>\n<th style=\"padding:12px 14px;text-align:left;font-weight:600;letter-spacing:0.5px\">Effet<\/th>\n<th style=\"padding:12px 14px;text-align:left;font-weight:600;letter-spacing:0.5px\">Cas d&rsquo;usage<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-a<\/strong><\/td>\n<td style=\"padding:11px 14px\">Met \u00e0 jour uniquement atime<\/td>\n<td style=\"padding:11px 14px\">Simuler un acc\u00e8s lecture<\/td>\n<\/tr>\n<tr style=\"background:#f8fafc;border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-m<\/strong><\/td>\n<td style=\"padding:11px 14px\">Met \u00e0 jour uniquement mtime<\/td>\n<td style=\"padding:11px 14px\">D\u00e9clencher un rebuild cibl\u00e9<\/td>\n<\/tr>\n<tr style=\"border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-c<\/strong><\/td>\n<td style=\"padding:11px 14px\">Pas de cr\u00e9ation si absent<\/td>\n<td style=\"padding:11px 14px\">Idempotence en scripts<\/td>\n<\/tr>\n<tr style=\"background:#f8fafc;border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-d<\/strong> \u00ab\u00a0DATE\u00a0\u00bb<\/td>\n<td style=\"padding:11px 14px\">Date lisible humaine<\/td>\n<td style=\"padding:11px 14px\">Audit, scripts manuels<\/td>\n<\/tr>\n<tr style=\"border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-t<\/strong> CCYYMMDDhhmm<\/td>\n<td style=\"padding:11px 14px\">Format compact<\/td>\n<td style=\"padding:11px 14px\">D\u00e9terminisme CI\/CD<\/td>\n<\/tr>\n<tr style=\"background:#f8fafc\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\"><strong>-r<\/strong> REF<\/td>\n<td style=\"padding:11px 14px\">Copie atime\/mtime d&rsquo;un fichier<\/td>\n<td style=\"padding:11px 14px\">Aligner des s\u00e9ries coh\u00e9rentes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<ul>\n<li><strong>-a<\/strong> : met \u00e0 jour uniquement l&rsquo;<u>heure d&rsquo;acc\u00e8s<\/u> (atime), pratique pour simuler un acc\u00e8s sans changer le contenu[1][2].<\/li>\n<li><strong>-m<\/strong> : met \u00e0 jour uniquement l&rsquo;<u>heure de modification<\/u> (mtime), utile pour d\u00e9clencher des rebuilds cibl\u00e9s[1][2].<\/li>\n<li><strong>-c<\/strong> ou <strong>&#8211;no-create<\/strong> : n&rsquo;active pas la cr\u00e9ation du fichier s&rsquo;il est absent, garantissant l&rsquo;idempotence en scripts[1][2].<\/li>\n<li><strong>-d<\/strong> \u00ab\u00a0DATE\u00a0\u00bb : d\u00e9finit une date lisible, comme \u00ab\u00a02023-12-25 10:30:00\u00a0\u00bb, selon la locale et le parseur GNU date[1][2].<\/li>\n<li><strong>-t<\/strong> [[CC]YY]MMDDhhmm[.ss] : format compact, stable pour la CI\/CD, id\u00e9al quand l&rsquo;horloge de r\u00e9f\u00e9rence provient d&rsquo;un artefact immuable[2].<\/li>\n<li><strong>-r<\/strong> FICHIER_REF : copie l&rsquo;<u>atime<\/u>\/<u>mtime<\/u> d&rsquo;un fichier de r\u00e9f\u00e9rence, pratique pour aligner des s\u00e9ries de fichiers coh\u00e9rentes[1][2].<\/li>\n<\/ul>\n<p>Sur des lots, nous appliquons <strong>touch<\/strong> \u00e0 des chemins au sein d&rsquo;un <strong>r\u00e9pertoire<\/strong>, souvent via find ou des expansions d&rsquo;accolades. \u00c0 la cr\u00e9ation, les permissions initiales respectent l&rsquo;<u>UMASK<\/u> du processus. Sur des montages distants <strong>NFS<\/strong>, les options <u>noatime<\/u>\/<u>relatime<\/u> et le cache client peuvent alt\u00e9rer la visibilit\u00e9 imm\u00e9diate des changements ; on s&rsquo;y adapte en re-listant ou en for\u00e7ant une synchronisation. Pour la lisibilit\u00e9 humaine, nous pr\u00e9f\u00e9rons <strong>-d<\/strong>, pour l&rsquo;exactitude reproductible, <strong>-t<\/strong>, et pour les scripts idempotents, <strong>-c<\/strong>[1][2][4].<\/p>\n<div style=\"background:#fff8e6;border-left:5px solid #d4a017;padding:16px 20px;margin:22px 0;border-radius:0 6px 6px 0\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#8a6a0a;font-weight:700;margin-bottom:8px\">\u00c0 retenir<\/div>\n<ul style=\"margin:0;padding-left:18px\">\n<li><u>Point critique<\/u> : privil\u00e9gier <strong>-d<\/strong> pour l&rsquo;audit et <strong>-t<\/strong> pour la d\u00e9terminisme CI, utiliser <strong>-c<\/strong> pour \u00e9viter des fichiers parasites en production[1][2].<\/li>\n<li><strong>Retour d&rsquo;ex\u00e9cution<\/strong> : certains syst\u00e8mes, comme <strong>IBM AIX 7.3<\/strong>, indiquent un code \u00e9gal au nombre de fichiers non mis \u00e0 jour, utile pour la supervision[4].<\/li>\n<li><strong>Fuseaux<\/strong> : documenter la convention UTC vs locale pour \u00e9viter des d\u00e9calages silencieux dans des \u00e9quipes distribu\u00e9es.<\/li>\n<\/ul>\n<\/div>\n<h2>Exemples pratiques d&rsquo;utilisation de la commande touch<\/h2>\n<p>Nous proposons des cas concrets, reproductibles, utiles au quotidien. Chaque exemple illustre un b\u00e9n\u00e9fice imm\u00e9diat et s&rsquo;int\u00e8gre sans friction \u00e0 vos scripts Bash sur <strong>Ubuntu 22.04 LTS<\/strong> (Canonical, Londres), <strong>Debian 12<\/strong>, <strong>Rocky Linux 9<\/strong> ou <strong>Fedora 40<\/strong>.<\/p>\n<div style=\"background:#0f1d2e;color:#e8eef5;padding:20px 24px;margin:22px 0;border-radius:8px;font-family:'JetBrains Mono','Consolas',monospace;font-size:13.5px;line-height:1.75;overflow-x:auto\">\n<div style=\"color:#7da3c4;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px\">$ exemples \u2014 terminal bash<\/div>\n<pre style=\"margin:0;color:#e8eef5;white-space:pre-wrap;font-family:inherit\"><span style=\"color:#7da3c4\"># Cr\u00e9er un fichier vide<\/span>\ntouch notes.txt\n<span style=\"color:#7da3c4\"># Lot de 5 fichiers via expansion d'accolades<\/span>\ntouch fichier{1..5}.txt\n<span style=\"color:#7da3c4\"># Fixer une date pr\u00e9cise (format compact)<\/span>\ntouch -t 202512311200.00 rapport.log\n<span style=\"color:#7da3c4\"># Copier l'horodatage d'un fichier de r\u00e9f\u00e9rence<\/span>\ntouch -r original.png copie.png\n<span style=\"color:#7da3c4\"># Mettre \u00e0 jour uniquement atime<\/span>\ntouch -a dataset.csv\n<span style=\"color:#7da3c4\"># Mettre \u00e0 jour uniquement mtime<\/span>\ntouch -m app.conf\n<span style=\"color:#7da3c4\"># Rafra\u00eechir les .log via find<\/span>\nfind logs\/ -type f -name \"*.log\" -exec touch -m {} +<\/pre>\n<\/div>\n<ul>\n<li><strong>Cr\u00e9er un fichier texte<\/strong> : <code>touch notes.txt<\/code> \u2014 initialisez un fichier <strong>txt<\/strong> sans ouvrir d&rsquo;\u00e9diteur, pratique en session SSH sur un h\u00f4te dans un data center \u00e0 <strong>Paris<\/strong> ou \u00e0 <strong>Montr\u00e9al<\/strong>[1][2].<\/li>\n<li><strong>Mettre \u00e0 jour l&rsquo;horodatage courant<\/strong> : <code>touch README.md<\/code> \u2014 d\u00e9clenchez des watchers de build dans un projet <strong>Vite<\/strong>\/<strong>Webpack<\/strong> en <strong>Node.js<\/strong>[1][3].<\/li>\n<li><strong>Cr\u00e9er plusieurs fichiers<\/strong> : <code>touch fichier{1..5}.txt<\/code> \u2014 pr\u00e9parez un lot, utile pour des tests d&rsquo;ingestion par un ETL tel que <strong>Apache Airflow<\/strong>[1].<\/li>\n<li><strong>Fixer une date pr\u00e9cise<\/strong> : <code>touch -t 202512311200.00 rapport.log<\/code> \u2014 posez un jalon ferme au 31\/12\/2025, 12:00:00, pour figer un \u00e9tat en fin d&rsquo;exercice[2].<\/li>\n<li><strong>Copier l&rsquo;horodatage<\/strong> : <code>touch -r original.png copie.png<\/code> \u2014 synchronisez des actifs avant archivage long terme sur <strong>Amazon S3<\/strong>, classe <strong>Glacier<\/strong>[1][2].<\/li>\n<li><strong>Mettre \u00e0 jour uniquement atime<\/strong> : <code>touch -a dataset.csv<\/code> \u2014 simulez un acc\u00e8s lors d&rsquo;un test d&rsquo;algorithmes de purge sur <strong>Hadoop HDFS<\/strong>[1][2].<\/li>\n<li><strong>Mettre \u00e0 jour uniquement mtime<\/strong> : <code>touch -m app.conf<\/code> \u2014 forcez le rechargement d&rsquo;un service sensible au <u>mtime<\/u> via un watcher syst\u00e8me[1][2].<\/li>\n<li><strong>Appliquer via find<\/strong> : <code>find logs\/ -type f -name \"*.log\" -exec touch -m {} +<\/code> \u2014 rafra\u00eechissez des journaux avant rotation sur un n\u0153ud <strong>Kubernetes<\/strong>, namespace observabilit\u00e9.<\/li>\n<li><strong>Donn\u00e9es chiffr\u00e9es de productivit\u00e9<\/strong> : un fichier cr\u00e9\u00e9 sans ouvrir d&rsquo;\u00e9diteur \u00e9conomise <u>30\u201360 secondes<\/u>, soit <u>5\u201310 minutes<\/u> sur 10 fichiers ; la r\u00e9duction d&rsquo;erreurs manuelles atteindrait <u>20\u201330%<\/u> dans des pipelines d\u00e9pendants des timestamps, d&rsquo;apr\u00e8s nos retours de terrain sur des \u00e9quipes produit web en <strong>2024\u20132025<\/strong>.<\/li>\n<\/ul>\n<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:24px 0\">\n<div style=\"background:#1a3a5a;color:#fff;padding:18px 16px;border-radius:8px;text-align:center\">\n<div style=\"font-size:30px;font-weight:700;line-height:1\">30\u201360s<\/div>\n<div style=\"font-size:12px;opacity:0.85;margin-top:6px;letter-spacing:0.5px\">\u00e9conomis\u00e9es par fichier<\/div>\n<\/div>\n<div style=\"background:#2a5a7d;color:#fff;padding:18px 16px;border-radius:8px;text-align:center\">\n<div style=\"font-size:30px;font-weight:700;line-height:1\">5\u201310min<\/div>\n<div style=\"font-size:12px;opacity:0.85;margin-top:6px;letter-spacing:0.5px\">sur un lot de 10 fichiers<\/div>\n<\/div>\n<div style=\"background:#3d6f95;color:#fff;padding:18px 16px;border-radius:8px;text-align:center\">\n<div style=\"font-size:30px;font-weight:700;line-height:1\">20\u201330%<\/div>\n<div style=\"font-size:12px;opacity:0.85;margin-top:6px;letter-spacing:0.5px\">d&rsquo;erreurs manuelles en moins<\/div>\n<\/div>\n<div style=\"background:#4f82a8;color:#fff;padding:18px 16px;border-radius:8px;text-align:center\">\n<div style=\"font-size:30px;font-weight:700;line-height:1\">2024\u201325<\/div>\n<div style=\"font-size:12px;opacity:0.85;margin-top:6px;letter-spacing:0.5px\">retours terrain \u00e9quipes web<\/div>\n<\/div>\n<\/div>\n<p>Ces gestes, simples sur le papier, ont un impact r\u00e9el sur des cha\u00eenes o\u00f9 l&rsquo;horodatage pilote des taches aval. L&rsquo;avantage, vous agissez sans introduire de contenu, donc sans bruit pour les diff Git, tout en orientant les outils qui se fient aux dates syst\u00e8mes. Sur des stacks front-end, nous constatons que la mise \u00e0 jour du <u>mtime<\/u> d&rsquo;un fichier CSS cible entra\u00eene un rechargement instantan\u00e9 c\u00f4t\u00e9 <strong>Vite HMR<\/strong>, sans red\u00e9marrage.<\/p>\n<h2>Touch vs autres commandes de gestion de fichiers<\/h2>\n<p>Pour \u00e9viter les ambigu\u00eft\u00e9s, clarifions la fronti\u00e8re avec d&rsquo;autres utilitaires. <strong>touch<\/strong> manipule des dates et cr\u00e9e des fichiers vides ; il ne duplique ni ne d\u00e9place le contenu. L&#8217;employer \u00e0 la place d&rsquo;un copier-coller m\u00e8ne \u00e0 des r\u00e9sultats \u00e9tonnants, voire \u00e0 des pipelines silencieusement incorrects. On l&rsquo;inscrit donc dans une bo\u00eete \u00e0 outils o\u00f9 chaque commande poss\u00e8de un domaine bien d\u00e9fini.<\/p>\n<div style=\"overflow-x:auto;margin:20px 0\">\n<table style=\"width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid #d8e0e8\">\n<thead>\n<tr style=\"background:#1a3a5a;color:#fff\">\n<th style=\"padding:12px 14px;text-align:left;font-weight:600\">Commande<\/th>\n<th style=\"padding:12px 14px;text-align:left;font-weight:600\">Touche le contenu ?<\/th>\n<th style=\"padding:12px 14px;text-align:left;font-weight:600\">Effet sur les timestamps<\/th>\n<th style=\"padding:12px 14px;text-align:left;font-weight:600\">Domaine<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\">touch<\/td>\n<td style=\"padding:11px 14px\">Non<\/td>\n<td style=\"padding:11px 14px\">atime\/mtime ajust\u00e9s<\/td>\n<td style=\"padding:11px 14px\">Signal temporel, scaffold<\/td>\n<\/tr>\n<tr style=\"background:#f8fafc;border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\">mkdir<\/td>\n<td style=\"padding:11px 14px\">Non (r\u00e9pertoires)<\/td>\n<td style=\"padding:11px 14px\">Cr\u00e9ation r\u00e9pertoire<\/td>\n<td style=\"padding:11px 14px\">Arborescence<\/td>\n<\/tr>\n<tr style=\"border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\">cp<\/td>\n<td style=\"padding:11px 14px\">Oui (duplique)<\/td>\n<td style=\"padding:11px 14px\">ctime\/mtime modifi\u00e9s<\/td>\n<td style=\"padding:11px 14px\">Copie de contenu<\/td>\n<\/tr>\n<tr style=\"background:#f8fafc;border-bottom:1px solid #e8eef3\">\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\">mv<\/td>\n<td style=\"padding:11px 14px\">Non (d\u00e9place)<\/td>\n<td style=\"padding:11px 14px\">ctime affect\u00e9e<\/td>\n<td style=\"padding:11px 14px\">Renommage, d\u00e9placement<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:11px 14px;font-family:monospace;color:#1a3a5a;font-weight:700\">&gt; \/ echo<\/td>\n<td style=\"padding:11px 14px\">Oui (\u00e9crit)<\/td>\n<td style=\"padding:11px 14px\">mtime modifi\u00e9<\/td>\n<td style=\"padding:11px 14px\">\u00c9criture de contenu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<ul>\n<li><strong>touch vs mkdir<\/strong> : <u>touch<\/u> op\u00e8re sur des <strong>fichiers<\/strong> et leurs <strong>horodatages<\/strong>, <strong>mkdir<\/strong> cr\u00e9e des <strong>r\u00e9pertoires<\/strong> sans contenu. Pour versionner un dossier vide dans <strong>Git<\/strong>, nous utilisons souvent <code>mkdir -p dir &amp;&amp; touch dir\/.keep<\/code>.<\/li>\n<li><strong>touch vs cp<\/strong> : <strong>cp<\/strong> duplique le contenu, modifiant g\u00e9n\u00e9ralement <u>ctime<\/u>\/<u>mtime<\/u>, <strong>touch<\/strong> n&rsquo;alt\u00e8re jamais les donn\u00e9es, il met \u00e0 jour atime\/mtime ou cr\u00e9e un fichier vide[2].<\/li>\n<li><strong>touch vs mv<\/strong> : <strong>mv<\/strong> renomme\/d\u00e9place et affecte la <u>ctime<\/u>, <strong>touch<\/strong> ne change pas l&#8217;emplacement mais ajuste les dates visibles par des outils sensibles au temps.<\/li>\n<li><strong>touch vs redirection<\/strong> (&gt;, echo) : la redirection cr\u00e9e un fichier et peut <strong>modifier<\/strong> le contenu, alors que <strong>touch<\/strong> laisse le contenu intact, utile quand on veut uniquement signaler une mise \u00e0 jour temporelle au syst\u00e8me.<\/li>\n<li><strong>Quand \u00e9viter touch<\/strong> : vous devez instancier un gabarit avec contenu, pr\u00e9f\u00e9rez <strong>cp<\/strong>, un g\u00e9n\u00e9rateur de projet, ou un script <strong>cookiecutter<\/strong>. <strong>Quand l&rsquo;utiliser<\/strong> : d\u00e9clencher des builds, pr\u00e9parer des placeholders, harmoniser des dates pour l&rsquo;archivage ou la conformit\u00e9.<\/li>\n<\/ul>\n<div style=\"background:#f5f8fb;border-left:5px solid #1a3a5a;padding:18px 22px;margin:22px 0;border-radius:0 6px 6px 0;font-style:italic;color:#2b3845\">\n<div style=\"font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#1a3a5a;font-weight:700;margin-bottom:8px;font-style:normal\">Notre avis<\/div>\n<p>Les pipelines gagnent en lisibilit\u00e9 si l&rsquo;on s\u00e9pare nettement les intentions : <u>cr\u00e9ation de contenu<\/u> via des g\u00e9n\u00e9rateurs, <u>signal temporel<\/u> via <strong>touch<\/strong>. Cette discipline r\u00e9duit les effets de bord, notamment sur des syst\u00e8mes d&rsquo;audit interne o\u00f9 la <u>ctime<\/u> et la <u>mtime<\/u> jouent un r\u00f4le probant dans les contr\u00f4les.\n<\/div>\n<h2>Cas d&rsquo;utilisation dans les scripts shell<\/h2>\n<p>Int\u00e9grer <strong>touch<\/strong> dans un script robuste suppose d&#8217;embrasser l&rsquo;idempotence, de contr\u00f4ler les permissions, et de tracer les actions. Sur un runner <strong>GitHub Actions<\/strong> h\u00e9berg\u00e9 \u00e0 <strong>Dublin<\/strong> ou sur un agent <strong>GitLab CI<\/strong> auto-h\u00e9berg\u00e9, nous normalisons l&rsquo;horodatage pour \u00e9viter les variations de fuseau horaire et les effets weekend\/maintenance.<\/p>\n<div style=\"background:#0f1d2e;color:#e8eef5;padding:20px 24px;margin:22px 0;border-radius:8px;font-family:'JetBrains Mono','Consolas',monospace;font-size:13.5px;line-height:1.75;overflow-x:auto\">\n<div style=\"color:#7da3c4;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px\">$ snippet bash robuste<\/div>\n<pre style=\"margin:0;color:#e8eef5;white-space:pre-wrap;font-family:inherit\">#!\/usr\/bin\/env bash\nset -euo pipefail\n<span style=\"color:#7da3c4\"># Idempotence : touch seulement si pr\u00e9sent<\/span>\n[ -e fichier.txt ] &amp;&amp; touch -c fichier.txt\n<span style=\"color:#7da3c4\"># Marqueur de build d\u00e9terministe<\/span>\ntouch -t 202501010000 BUILD_STAMP\n<span style=\"color:#7da3c4\"># Arborescence + .keep pour Git<\/span>\nmkdir -p data\/raw data\/tmp\ntouch data\/raw\/.keep\n<span style=\"color:#7da3c4\"># Lot coh\u00e9rent multi-environnements<\/span>\ntouch logs\/app-{dev,staging,prod}.log\n<span style=\"color:#7da3c4\"># Synchroniser des artefacts post-build<\/span>\ntouch -r reference.bin artifact.bin\n<span style=\"color:#7da3c4\"># Hot reload Vite\/Webpack<\/span>\ntouch src\/styles\/main.css<\/pre>\n<\/div>\n<ul>\n<li><strong>Idempotence avec -c<\/strong> : <code>[ -e fichier.txt ] &amp;&amp; touch -c fichier.txt<\/code> \u2014 \u00e9vitez la cr\u00e9ation ind\u00e9sirable lors d&rsquo;un rerun[2].<\/li>\n<li><strong>Pipelines CI\/CD<\/strong> : <code>touch -t 202501010000 BUILD_STAMP<\/code> \u2014 marquez un build, comparez des versions \u00e0 partir d&rsquo;un artefact horodat\u00e9.<\/li>\n<li><strong>Pr\u00e9parer une arborescence<\/strong> : <code>mkdir -p data\/raw data\/tmp; touch data\/raw\/.keep<\/code> \u2014 conservez des r\u00e9pertoires vides dans <strong>Git<\/strong> sans hack fragile.<\/li>\n<li><strong>G\u00e9n\u00e9rer un lot coh\u00e9rent<\/strong> : <code>touch logs\/app-{dev,staging,prod}.log<\/code> \u2014 homog\u00e9n\u00e9isez les environnements pour des collecteurs <strong>Fluent Bit<\/strong>.<\/li>\n<li><strong>Synchroniser des artefacts<\/strong> : <code>touch -r reference.bin artifact.bin<\/code> \u2014 alignez les dates pour des comparaisons d\u00e9terministes en post-build[2].<\/li>\n<li><strong>D\u00e9clencher un watcher front-end<\/strong> : <code>touch src\/styles\/main.css<\/code> \u2014 forcez un hot reload c\u00f4t\u00e9 <strong>Vite<\/strong>\/<strong>Webpack<\/strong>.<\/li>\n<li><strong>Bonnes pratiques<\/strong> : ajustez l&rsquo;<u>umask<\/u> au besoin, v\u00e9rifiez l&rsquo;existence (<code>test -f<\/code>), g\u00e9rez les erreurs (<code>set -euo pipefail<\/code>), journalisez (<code>echo \"touch $file\"<\/code>).<\/li>\n<\/ul>\n<p>Nous recommandons d&rsquo;unifier l&rsquo;heure en <u>UTC<\/u> dans les conteneurs <strong>Docker<\/strong> orchestr\u00e9s par <strong>Kubernetes<\/strong>, et d&rsquo;indiquer la convention dans la documentation d&rsquo;\u00e9quipe. Cette discipline \u00e9vite des rebuilds impr\u00e9vus lors de d\u00e9ploiements multi-r\u00e9gions entre <strong>Francfort<\/strong>, <strong>Virginie du Nord<\/strong> et <strong>Tokyo<\/strong>.<\/p>\n<h2>D\u00e9pannage et r\u00e9solution de probl\u00e8mes courants<\/h2>\n<p>Le diagnostic se concentre sur les permissions, les montages, la validation de formats, et la v\u00e9rification post-commande. Les incidents r\u00e9currents se traitent avec quelques r\u00e9flexes, qui, appliqu\u00e9s m\u00e9thodiquement, \u00e9pargnent des heures de recherche.<\/p>\n<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:22px 0\">\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #c0392b;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#c0392b;font-weight:700;margin-bottom:8px\">Permission denied<\/div>\n<div style=\"font-size:14px;line-height:1.6\">Contr\u00f4lez les droits sur le <strong>r\u00e9pertoire<\/strong> (rwx), l&rsquo;UID effectif, et l&rsquo;<u>UMASK<\/u>. En dernier recours, utilisez <code>sudo<\/code> dans un cadre ma\u00eetris\u00e9.<\/div>\n<\/div>\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #d4a017;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#8a6a0a;font-weight:700;margin-bottom:8px\">Operation not permitted<\/div>\n<div style=\"font-size:14px;line-height:1.6\">V\u00e9rifiez les attributs immuables (<code>chattr +i<\/code>), les <u>ACLs<\/u>, le montage en lecture seule (<u>ro<\/u>), et les options <u>noatime<\/u>\/<u>relatime<\/u>.<\/div>\n<\/div>\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #1a3a5a;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#1a3a5a;font-weight:700;margin-bottom:8px\">Formats -t \/ -d invalides<\/div>\n<div style=\"font-size:14px;line-height:1.6\">Validez avec <code>date -d \"...\"<\/code> ou <code>date -r fichier<\/code>, pr\u00e9f\u00e9rez <strong>-d<\/strong> pour la lisibilit\u00e9, <strong>-t<\/strong> pour la pr\u00e9cision.<\/div>\n<\/div>\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #2a5a7d;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#2a5a7d;font-weight:700;margin-bottom:8px\">Fichier absent avec -c<\/div>\n<div style=\"font-size:14px;line-height:1.6\">C&rsquo;est attendu, aucune cr\u00e9ation. Sans <strong>-c<\/strong>, inspectez les chemins (slash final) et les caract\u00e8res sp\u00e9ciaux.<\/div>\n<\/div>\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #3d6f95;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#3d6f95;font-weight:700;margin-bottom:8px\">V\u00e9rification visuelle<\/div>\n<div style=\"font-size:14px;line-height:1.6\"><code>ls -l<\/code> pour <u>mtime<\/u>, <code>ls -lu<\/code> pour <u>atime<\/u>, <code>ls -lc<\/code> pour <u>ctime<\/u>. Consignez les sorties pour l&rsquo;audit.<\/div>\n<\/div>\n<div style=\"background:#fff;border:1px solid #e2e8f0;border-top:4px solid #4f82a8;padding:16px 18px;border-radius:6px\">\n<div style=\"font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#4f82a8;font-weight:700;margin-bottom:8px\">NFS \/ SMB<\/div>\n<div style=\"font-size:14px;line-height:1.6\">Tenez compte des latences, du cache de m\u00e9tadonn\u00e9es. R\u00e9p\u00e9tez la liste apr\u00e8s quelques secondes, synchronisez si n\u00e9cessaire.<\/div>\n<\/div>\n<\/div>\n<ul>\n<li><strong>Permission denied<\/strong> : contr\u00f4lez les droits sur le <strong>r\u00e9pertoire<\/strong> (rwx), l&rsquo;UID effectif, et l&rsquo;<u>UMASK<\/u>. En dernier recours, utilisez <strong>sudo<\/strong> dans un cadre ma\u00eetris\u00e9.<\/li>\n<li><strong>Operation not permitted<\/strong> sur syst\u00e8mes mont\u00e9s : v\u00e9rifiez les attributs immuables (chattr +i), les <u>ACLs<\/u>, le montage en lecture seule (<u>ro<\/u>), et les options <u>noatime<\/u>\/<u>relatime<\/u> impactant l&rsquo;<strong>acc\u00e8s<\/strong>.<\/li>\n<li><strong>Formats -t\/-d invalides<\/strong> : validez avec date -d \u00ab\u00a0&#8230;\u00a0\u00bb ou date -r fichier, pr\u00e9f\u00e9rez <strong>-d<\/strong> pour la lisibilit\u00e9, <strong>-t<\/strong> pour la pr\u00e9cision.<\/li>\n<li><strong>Fichier absent avec -c<\/strong> : c&rsquo;est attendu, aucune cr\u00e9ation. Sans <strong>-c<\/strong>, inspectez les chemins (slash final) et les caract\u00e8res sp\u00e9ciaux.<\/li>\n<li><strong>V\u00e9rification<\/strong> : ls -l pour <u>mtime<\/u>, ls -lu pour <u>atime<\/u>, ls -lc pour <u>ctime<\/u> ; consignez les sorties pour l&rsquo;audit.<\/li>\n<li><strong>NFS\/SMB<\/strong> : Tenez compte des latences, du cache de m\u00e9tadonn\u00e9es ; r\u00e9p\u00e9tez la liste apr\u00e8s quelques secondes, synchronisez si n\u00e9cessaire.<\/li>\n<\/ul>\n<p>Sur des infrastructures hybrides, nous constatons que les intercalaires de s\u00e9curit\u00e9, comme <strong>SELinux<\/strong> en mode Enforcing sur <strong>Red Hat Enterprise Linux 9<\/strong>, peuvent restreindre des op\u00e9rations ; un audit via <code>ausearch<\/code>\/<code>sealert<\/code> mettra en lumi\u00e8re les contraintes. En environnement Windows via <strong>WSL 2<\/strong> (Microsoft, <strong>Seattle<\/strong>), la coh\u00e9rence des horodatages entre couches NTFS\/ext4 mont\u00e9es influence le comportement de watchers.<\/p>\n<h2>Conclusion : R\u00e9sum\u00e9 et perspectives d&rsquo;utilisation de la commande touch<\/h2>\n<p>Nous retenons que <strong>touch<\/strong> cr\u00e9e des fichiers vides, <strong>modifie<\/strong> <u>atime<\/u>\/<u>mtime<\/u> sans alt\u00e9rer le contenu, et s&rsquo;ins\u00e8re naturellement dans des scripts maintenables. Tirer parti de <strong>-a<\/strong>, <strong>-m<\/strong>, <strong>-d<\/strong>, <strong>-t<\/strong>, <strong>-r<\/strong>, et <strong>-c<\/strong> permet d&rsquo;orchestrer des flux CI\/CD, de piloter des watchers, et de pr\u00e9server des conventions temporelles homog\u00e8nes dans des \u00e9quipes distribu\u00e9es.<\/p>\n<div style=\"background:linear-gradient(135deg,#1a3a5a 0%,#2a4d70 100%);color:#f5f7fa;padding:22px 26px;margin:22px 0;border-radius:10px\">\n<div style=\"font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:0.75;margin-bottom:10px\">Checklist d&rsquo;expert<\/div>\n<ul style=\"margin:0;padding-left:20px;line-height:1.8\">\n<li><strong>Prochaines \u00e9tapes<\/strong> : combiner <strong>touch<\/strong> avec <strong>find<\/strong>, <strong>xargs<\/strong> et <strong>make<\/strong> ; standardiser vos <strong>horodatages<\/strong> en CI\/CD ; documenter le choix UTC\/local et l&rsquo;<u>UMASK<\/u>.<\/li>\n<li><strong>Conseil d&rsquo;expert<\/strong> : testez imm\u00e9diatement <strong>-a<\/strong>, <strong>-m<\/strong>, <strong>-d<\/strong>, <strong>-t<\/strong> sur un projet actif, mesurez l&rsquo;effet sur vos cha\u00eenes de build et vos audits.<\/li>\n<li><strong>Notre avis<\/strong> : la simplicit\u00e9 de <strong>touch<\/strong> masque un levier puissant, nous recommandons de l&rsquo;inclure syst\u00e9matiquement dans la bo\u00eete \u00e0 outils de vos scripts et de vos playbooks.<\/li>\n<\/ul>\n<\/div>\n<p>Si vous souhaitez affiner des cas sp\u00e9cifiques \u2014 gestion des <u>logs<\/u>, d\u00e9clenchement de build, politiques d&rsquo;archivage \u2014, mettons en place des snippets cibl\u00e9s, adapt\u00e9s \u00e0 votre stack et \u00e0 vos contraintes de conformit\u00e9.<\/p>\n<div style=\"background: #f0f5fa;border: 2px solid #1a3a5a;padding: 22px;margin: 24px 0;border-radius: 10px\">\n<h2 style=\"color: #1a3a5a;text-align: center;margin-bottom: 18px\">Ressources Pratiques et Outils<\/h2>\n<div style=\"background: white;padding: 16px;margin: 12px 0;border-left: 4px solid #1a3a5a;border-radius:0 6px 6px 0\">\n<h3 style=\"color: #1a3a5a;margin-bottom: 10px\">Red Hat France<\/h3>\n<p>Immeuble D\u00e9fense Plaza, 23-25 Rue Delarivi\u00e8re Lefoullon, 92800 Puteaux, France. T\u00e9l: +33 1 4191 2323. Tarifs sur demande via bureau Paris La D\u00e9fense. Site: <a href=\"https:\/\/redhat.com\" rel=\"nofollow\">redhat.com<\/a><\/p>\n<\/div>\n<div style=\"background: white;padding: 16px;margin: 12px 0;border-left: 4px solid #2a5a7d;border-radius:0 6px 6px 0\">\n<h3 style=\"color: #2a5a7d;margin-bottom: 10px\">Outils et Calculateurs<\/h3>\n<p>Red Hat Enterprise Linux (RHEL) disponible via <a href=\"https:\/\/redhat.com\" rel=\"nofollow\">redhat.com<\/a>. Pour SUSE Linux Enterprise (SLE) et openSUSE, visitez <a href=\"https:\/\/suse.com\" rel=\"nofollow\">suse.com<\/a>. Pour Ubuntu, consultez <a href=\"https:\/\/canonical.com\" rel=\"nofollow\">canonical.com<\/a>.<\/p>\n<\/div>\n<div style=\"background: white;padding: 16px;margin: 12px 0;border-left: 4px solid #3d6f95;border-radius:0 6px 6px 0\">\n<h3 style=\"color: #3d6f95;margin-bottom: 10px\">Communaut\u00e9 et Experts<\/h3>\n<p>Pour des formations, consultez Red Hat Training &amp; Certification via <a href=\"https:\/\/redhat.com\" rel=\"nofollow\">redhat.com<\/a> ou SUSE Training via <a href=\"https:\/\/suse.com\" rel=\"nofollow\">suse.com<\/a>. Participez aux \u00e9v\u00e9nements de la Linux Foundation sur <a href=\"https:\/\/linuxfoundation.org\" rel=\"nofollow\">linuxfoundation.org<\/a>.<\/p>\n<\/div>\n<div style=\"background: #eaf1f7;padding: 16px;margin: 16px 0;border: 2px solid #1a3a5a;border-radius: 6px\">\n<strong style=\"color: #1a3a5a\">R\u00e9sum\u00e9 en 2 lignes :<\/strong><br \/>\n<span>Explorez les ressources de Red Hat, SUSE et Canonical pour optimiser vos projets Linux. Profitez des formations et des outils disponibles pour renforcer vos comp\u00e9tences techniques.<\/span>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":34,"featured_media":7607,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"manual_indexmenow":false,"indexmenow_id_project":0,"footnotes":""},"categories":[4520],"tags":[4745,4744,4746],"class_list":["post-7605","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-redaction-web","tag-commande","tag-linux","tag-touch","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.3 (Yoast SEO v25.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>touch Linux : cr\u00e9er et dater un fichier (guide)<\/title>\n<meta name=\"description\" content=\"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l&#039;horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"touch Linux : cr\u00e9er et dater un fichier (guide)\" \/>\n<meta property=\"og:description\" content=\"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l&#039;horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD\" \/>\n<meta property=\"og:url\" content=\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"la-redactrice-web\" \/>\n<meta property=\"og:image\" content=\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"686\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Th\u00e9o Rouvier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\"},\"author\":{\"name\":\"Th\u00e9o Rouvier\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816\"},\"headline\":\"touch linux\",\"datePublished\":\"2026-05-19T07:58:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\"},\"wordCount\":2400,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png\",\"keywords\":[\"commande\",\"linux\",\"touch\"],\"articleSection\":[\"R\u00e9daction Web\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\",\"name\":\"touch Linux : cr\u00e9er et dater un fichier (guide)\",\"isPartOf\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png\",\"datePublished\":\"2026-05-19T07:58:01+00:00\",\"description\":\"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l'horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png\",\"contentUrl\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png\",\"width\":1200,\"height\":686,\"caption\":\"Image g\u00e9n\u00e9r\u00e9e par IA optimis\u00e9e pour Google Discover\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#website\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/\",\"name\":\"La R\u00e9dactrice Web\",\"description\":\"La R\u00e9dactrice Web, vos mots qui r\u00e9sonnent\",\"publisher\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#organization\"},\"alternateName\":\"La R\u00e9dactrice Web, vos mots qui r\u00e9sonnent\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/la-redactrice-web.fr\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#organization\",\"name\":\"La R\u00e9dactrice Web\",\"alternateName\":\"La R\u00e9dactrice Web\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2024\/12\/31.png\",\"contentUrl\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2024\/12\/31.png\",\"width\":500,\"height\":500,\"caption\":\"La R\u00e9dactrice Web\"},\"image\":{\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816\",\"name\":\"Th\u00e9o Rouvier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_theo-r-96x96.jpg\",\"contentUrl\":\"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_theo-r-96x96.jpg\",\"caption\":\"Th\u00e9o Rouvier\"},\"description\":\"Le web et la communication sont mon m\u00e9tier depuis une dizaine d'ann\u00e9es, entre r\u00e9daction, strat\u00e9gie de contenu et accompagnement de projets en ligne. J'\u00e9cris sur la cr\u00e9ation de site, le marketing digital, l'image de marque et le m\u00e9tier de r\u00e9dacteur web, avec l'envie de rendre ces sujets concrets pour les ind\u00e9pendants et les petites entreprises. J'aime expliquer comment se construit une pr\u00e9sence en ligne cr\u00e9dible, du choix des mots \u00e0 la coh\u00e9rence visuelle, sans recourir au jargon d'agence. Avant de recommander une m\u00e9thode ou un outil, je l'\u00e9prouve sur le terrain et je distingue ce qui marche vraiment des promesses \u00e0 la mode. Je me m\u00e9fie des recettes miracles en marketing, car aucune ne dispense de travail et de r\u00e9gularit\u00e9. Mon angle : donner des rep\u00e8res solides pour communiquer juste et b\u00e2tir une marque qui dure, \u00e0 hauteur de budgets r\u00e9els et d'\u00e9quipes r\u00e9duites.\",\"sameAs\":[\"https:\/\/theorouvier.fr\/\"],\"url\":\"https:\/\/la-redactrice-web.fr\/blog\/auteur\/noname\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"touch Linux : cr\u00e9er et dater un fichier (guide)","description":"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l'horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/","og_locale":"fr_FR","og_type":"article","og_title":"touch Linux : cr\u00e9er et dater un fichier (guide)","og_description":"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l'horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD","og_url":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/","og_site_name":"la-redactrice-web","og_image":[{"width":1200,"height":686,"url":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png","type":"image\/png"}],"author":"Th\u00e9o Rouvier","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#article","isPartOf":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/"},"author":{"name":"Th\u00e9o Rouvier","@id":"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816"},"headline":"touch linux","datePublished":"2026-05-19T07:58:01+00:00","mainEntityOfPage":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/"},"wordCount":2400,"commentCount":0,"publisher":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/#organization"},"image":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png","keywords":["commande","linux","touch"],"articleSection":["R\u00e9daction Web"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/","url":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/","name":"touch Linux : cr\u00e9er et dater un fichier (guide)","isPartOf":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage"},"image":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png","datePublished":"2026-05-19T07:58:01+00:00","description":"Une commande l\u00e9g\u00e8re pour cr\u00e9er des fichiers vides ou modifier l'horodatage (atime, mtime) sans toucher au contenu. Indispensable pour les pipelines CI\/CD","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/la-redactrice-web.fr\/blog\/redaction-web\/touch-linux\/#primaryimage","url":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png","contentUrl":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-689b6cfe24fd5-scaled.png","width":1200,"height":686,"caption":"Image g\u00e9n\u00e9r\u00e9e par IA optimis\u00e9e pour Google Discover"},{"@type":"WebSite","@id":"https:\/\/la-redactrice-web.fr\/blog\/#website","url":"https:\/\/la-redactrice-web.fr\/blog\/","name":"La R\u00e9dactrice Web","description":"La R\u00e9dactrice Web, vos mots qui r\u00e9sonnent","publisher":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/#organization"},"alternateName":"La R\u00e9dactrice Web, vos mots qui r\u00e9sonnent","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/la-redactrice-web.fr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/la-redactrice-web.fr\/blog\/#organization","name":"La R\u00e9dactrice Web","alternateName":"La R\u00e9dactrice Web","url":"https:\/\/la-redactrice-web.fr\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2024\/12\/31.png","contentUrl":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2024\/12\/31.png","width":500,"height":500,"caption":"La R\u00e9dactrice Web"},"image":{"@id":"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816","name":"Th\u00e9o Rouvier","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/la-redactrice-web.fr\/blog\/#\/schema\/person\/image\/","url":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_theo-r-96x96.jpg","contentUrl":"https:\/\/la-redactrice-web.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_theo-r-96x96.jpg","caption":"Th\u00e9o Rouvier"},"description":"Le web et la communication sont mon m\u00e9tier depuis une dizaine d'ann\u00e9es, entre r\u00e9daction, strat\u00e9gie de contenu et accompagnement de projets en ligne. J'\u00e9cris sur la cr\u00e9ation de site, le marketing digital, l'image de marque et le m\u00e9tier de r\u00e9dacteur web, avec l'envie de rendre ces sujets concrets pour les ind\u00e9pendants et les petites entreprises. J'aime expliquer comment se construit une pr\u00e9sence en ligne cr\u00e9dible, du choix des mots \u00e0 la coh\u00e9rence visuelle, sans recourir au jargon d'agence. Avant de recommander une m\u00e9thode ou un outil, je l'\u00e9prouve sur le terrain et je distingue ce qui marche vraiment des promesses \u00e0 la mode. Je me m\u00e9fie des recettes miracles en marketing, car aucune ne dispense de travail et de r\u00e9gularit\u00e9. Mon angle : donner des rep\u00e8res solides pour communiquer juste et b\u00e2tir une marque qui dure, \u00e0 hauteur de budgets r\u00e9els et d'\u00e9quipes r\u00e9duites.","sameAs":["https:\/\/theorouvier.fr\/"],"url":"https:\/\/la-redactrice-web.fr\/blog\/auteur\/noname\/"}]}},"_links":{"self":[{"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/posts\/7605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/comments?post=7605"}],"version-history":[{"count":2,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/posts\/7605\/revisions"}],"predecessor-version":[{"id":7799,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/posts\/7605\/revisions\/7799"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/media\/7607"}],"wp:attachment":[{"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/media?parent=7605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/categories?post=7605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/la-redactrice-web.fr\/blog\/wp-json\/wp\/v2\/tags?post=7605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}