
Création : `mkdir` (répertoires), `touch` (fichiers vides ou mise à jour du timestamp)
Apprenez à créer des répertoires avec `mkdir` et des fichiers (ou mettre à jour leur timestamp) avec `touch` sous Linux. Les bases de l'organisation de vos données.
Poser les fondations : créer des répertoires et des fichiers
Avant de pouvoir gérer des fichiers et des répertoires, il faut bien souvent commencer par les créer. Que ce soit pour organiser un nouveau projet, stocker des documents, ou simplement préparer l'espace pour des données futures, la création de répertoires (dossiers) et de fichiers est une tâche fondamentale. Linux offre des commandes simples et efficaces pour cela : mkdir pour créer des répertoires, et touch principalement pour créer des fichiers vides ou pour mettre à jour les informations de date et d'heure associées à un fichier existant.
Ces deux commandes sont parmi les premières que l'on apprend lorsqu'on aborde la gestion de fichiers en ligne de commande, car elles sont la base de toute organisation. Comprendre leur fonctionnement et leurs options de base vous permettra de structurer rapidement et logiquement vos espaces de travail.
Dans ce sous-chapitre, nous allons détailler l'utilisation de mkdir et touch, en illustrant leurs capacités avec des exemples clairs et pratiques.
Construire des structures : la commande `mkdir` (Make Directory)
La commande mkdir est utilisée pour créer un ou plusieurs nouveaux répertoires. Sa syntaxe de base est :
mkdir [options] nom_du_repertoire [nom_du_repertoire2 ...]Si vous exécutez simplement mkdir mon_nouveau_dossier, un nouveau répertoire nommé mon_nouveau_dossier sera créé dans le répertoire courant.
utilisateur@machine:~$ ls
Documents Images
utilisateur@machine:~$ mkdir MonProjet
utilisateur@machine:~$ ls
Documents Images MonProjetVous pouvez spécifier un chemin pour créer le répertoire ailleurs que dans le répertoire courant. Par exemple, pour créer Sauvegardes à l'intérieur de Documents :
mkdir Documents/Sauvegardes(Ceci suppose que le répertoire Documents existe déjà.)
Une option très utile de mkdir est -p (ou --parents). Cette option permet de créer toute l'arborescence de répertoires parents s'ils n'existent pas déjà, sans générer d'erreur. C'est extrêmement pratique pour créer des structures imbriquées en une seule commande.
Par exemple, si ni ProjetX ni son sous-répertoire src n'existent, la commande suivante créera les deux :
mkdir -p ProjetX/src/modulesSans l'option -p, si ProjetX n'existait pas, mkdir ProjetX/src aurait échoué.
Vous pouvez également créer plusieurs répertoires en même temps en les listant :
mkdir docs assets backupsUne autre option parfois utile est -m (ou --mode), qui permet de spécifier les permissions du nouveau répertoire au moment de sa création, en utilisant la notation octale (par exemple, mkdir -m 777 mon_dossier_public). Nous aborderons les permissions plus en détail dans le chapitre 2.4.
Par défaut, si le répertoire que vous essayez de créer existe déjà, mkdir affichera une erreur. L'option -p est également utile dans ce cas, car elle ne signalera pas d'erreur si le répertoire existe déjà.
Marquer sa présence : la commande `touch`
La commande touch a deux utilités principales :
- Créer un nouveau fichier vide s'il n'existe pas.
- Mettre à jour les timestamps (horodatages) d'un fichier existant (date et heure d'accès et de modification) à l'heure actuelle.
La syntaxe de base est :
touch [options] nom_du_fichier [nom_du_fichier2 ...]Créer un fichier vide :Si le fichier mon_fichier.txt n'existe pas dans le répertoire courant, la commande suivante le créera :
utilisateur@machine:~$ ls
MonProjet
utilisateur@machine:~$ touch mon_fichier.txt
utilisateur@machine:~$ ls
MonProjet mon_fichier.txt
utilisateur@machine:~$ ls -l mon_fichier.txt
-rw-r--r-- 1 utilisateur utilisateur 0 mai 24 14:30 mon_fichier.txtNotez que la taille du fichier est de 0 octet, il est vide.
Mettre à jour les timestamps :Si mon_fichier.txt existe déjà, la même commande touch mon_fichier.txt mettra à jour sa date de dernière modification et sa date de dernier accès à l'heure actuelle. Ceci est utile dans divers contextes, par exemple pour certains outils de compilation (comme make) qui se basent sur les dates des fichiers pour déterminer s'ils doivent être recompilés.
Quelques options de touch :
-a: Ne met à jour que le temps d'accès.-m: Ne met à jour que le temps de modification.-c(ou--no-create) : Si le fichier n'existe pas, ne pas le créer.touchne fera rien et ne signalera pas d'erreur.-d(ou--date=) : Permet de spécifier une date et une heure précises pour les timestamps, au lieu de l'heure actuelle. La chaîne de date peut être dans divers formats (par exemple, "2023-12-25 08:00:00" ou "yesterday").touch -d "2 days ago" ancien_fichier.log-r(ou--reference=) : Utilise les timestamps duFICHIER_REFERENCEpour mettre à jour ceux du fichier cible.touch -r modele.txt nouveau_fichier.txt
Comme pour mkdir, vous pouvez créer ou toucher plusieurs fichiers en une seule commande :
touch fichier1.txt rapport.doc notes.mdBien que touch soit principalement utilisé pour créer des fichiers vides qui seront ensuite remplis par d'autres moyens (un éditeur de texte, une redirection de commande, etc.), sa capacité à manipuler les timestamps en fait un outil plus polyvalent qu'il n'y paraît au premier abord.
En combinant mkdir pour la structure et touch pour les fichiers initiaux, vous avez déjà les outils pour esquisser l'organisation de vos données avant même d'y ajouter du contenu.