Création/Mise à jour de fichiers Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à créer et à mettre à jour des fichiers en utilisant la commande Linux touch. La commande touch est un outil simple mais puissant qui vous permet de créer des fichiers vides et de modifier les horodatages (timestamps) des fichiers sans changer le contenu du fichier.

Ce laboratoire est conçu pour les débutants qui souhaitent comprendre la gestion des fichiers sous Linux. Vous apprendrez à créer de nouveaux fichiers, à vérifier leurs horodatages et à modifier ces horodatages selon vos besoins. Ces compétences sont fondamentales pour l'administration système, la programmation de scripts et l'organisation générale des fichiers dans les environnements Linux.

À la fin de ce laboratoire, vous aurez acquis une expérience pratique avec la commande touch et comprendrez ses diverses applications dans la gestion des fichiers.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") subgraph Lab Skills linux/ls -.-> lab-271409{{"Création/Mise à jour de fichiers Linux"}} linux/touch -.-> lab-271409{{"Création/Mise à jour de fichiers Linux"}} linux/pwd -.-> lab-271409{{"Création/Mise à jour de fichiers Linux"}} linux/mkdir -.-> lab-271409{{"Création/Mise à jour de fichiers Linux"}} end

Création de votre premier fichier avec la commande touch

Dans cette étape, vous apprendrez à créer un nouveau fichier en utilisant la commande touch. Il s'agit d'une des opérations de fichiers les plus basiques sous Linux.

Tout d'abord, assurons-nous que vous êtes dans le bon répertoire. Exécutez la commande suivante :

pwd

Vous devriez voir un résultat indiquant que vous êtes dans le répertoire /home/labex/project. C'est là que nous allons créer nos fichiers.

Maintenant, créons un nouveau fichier vide en utilisant la commande touch :

touch myfile.txt

La commande touch crée un fichier vide s'il n'existe pas. Si le fichier existe déjà, touch met à jour ses horodatages d'accès et de modification à l'heure actuelle sans changer le contenu du fichier.

Pour vérifier que le fichier a été créé, exécutez la commande ls :

ls -l

Vous devriez voir un résultat similaire à ceci :

-rw-r--r-- 1 labex labex 0 May 15 10:30 myfile.txt

Le résultat montre :

  • Les autorisations de fichier (-rw-r--r--)
  • Le propriétaire et le groupe (tous deux labex)
  • La taille du fichier (0 octets car le fichier est vide)
  • La date et l'heure de création
  • Le nom du fichier (myfile.txt)

Félicitations ! Vous avez créé avec succès votre premier fichier en utilisant la commande touch.

Comprendre les détails des fichiers et les horodatages (timestamps)

Maintenant que vous avez créé un fichier, apprenons à afficher ses détails et à comprendre les horodatages associés aux fichiers sous Linux.

Chaque fichier sous Linux possède trois horodatages (timestamps) :

  1. Temps d'accès (Access time) - date et heure de la dernière lecture ou du dernier accès au fichier
  2. Temps de modification (Modification time) - date et heure de la dernière modification du contenu du fichier
  3. Temps de changement (Change time) - date et heure de la dernière modification des métadonnées du fichier (permissions, propriétaire, etc.)

Pour afficher ces horodatages pour le fichier que vous avez créé, utilisez la commande stat :

stat myfile.txt

La sortie devrait ressembler à ceci :

  File: myfile.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 655361      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-05-15 10:30:00.000000000 +0000
Modify: 2023-05-15 10:30:00.000000000 +0000
Change: 2023-05-15 10:30:00.000000000 +0000
 Birth: 2023-05-15 10:30:00.000000000 +0000

Pour une vue plus concise, vous pouvez utiliser la commande ls avec des options spécifiques :

ls -l --time=atime myfile.txt ## Affiche le temps d'accès (access time)
ls -l myfile.txt ## Affiche le temps de modification (modification time) (par défaut pour ls -l)

Créons maintenant un deuxième fichier et voyons comment comparer les horodatages :

touch secondfile.txt

Maintenant, listez les deux fichiers pour voir leurs horodatages :

ls -lt

Vous devriez remarquer que secondfile.txt apparaît en haut de la liste car ls -lt trie les fichiers par temps de modification (modification time), les fichiers modifiés le plus récemment étant listés en premier.

Comprendre ces horodatages est important pour la gestion des fichiers et le dépannage dans les systèmes Linux.

Modification des horodatages (timestamps) de fichiers avec la commande touch

L'une des fonctionnalités puissantes de la commande touch est la capacité de modifier les horodatages des fichiers. Cela peut être utile pour les tests, le débogage ou l'organisation des fichiers.

Modifions l'horodatage du premier fichier que nous avons créé (myfile.txt). Nous allons le définir à une date et une heure spécifiques en utilisant l'option -t :

touch -t 202301010900 myfile.txt

Cette commande définit l'horodatage de myfile.txt au 1er janvier 2023 à 9h00. Le format utilisé est YYYYMMDDhhmm (Année, Mois, Jour, Heure, Minute).

Maintenant, vérifions que l'horodatage a été modifié :

ls -l myfile.txt

Le résultat devrait montrer que l'horodatage de modification du fichier est maintenant le 1er janvier 2023 à 09:00 :

-rw-r--r-- 1 labex labex 0 Jan  1 09:00 myfile.txt

Vous pouvez également définir l'horodatage à un moment relatif, comme un certain nombre de jours dans le passé. Par exemple, pour définir l'horodatage à il y a 7 jours :

touch -d "7 days ago" myfile.txt

Vérifiez le changement :

ls -l myfile.txt

Une autre option utile consiste à utiliser l'horodatage d'un fichier comme référence pour un autre fichier. Créons un nouveau fichier :

touch thirdfile.txt

Maintenant, définissons l'horodatage de thirdfile.txt pour qu'il corresponde à celui de secondfile.txt :

touch -r secondfile.txt thirdfile.txt

Vérifiez que les deux fichiers ont maintenant le même horodatage :

ls -l secondfile.txt thirdfile.txt

Ces fonctionnalités de manipulation des horodatages font de la commande touch un outil polyvalent pour la gestion des fichiers sous Linux.

Création de plusieurs fichiers simultanément

La commande touch vous permet de créer plusieurs fichiers en une seule commande, ce qui peut économiser du temps lorsque vous avez besoin de créer plusieurs fichiers à la fois.

Créons trois nouveaux fichiers avec une seule commande :

touch file1.txt file2.txt file3.txt

Pour vérifier que les trois fichiers ont été créés, exécutez :

ls -l file*.txt

Vous devriez voir les trois nouveaux fichiers listés, avec leurs détails :

-rw-r--r-- 1 labex labex 0 May 15 11:00 file1.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file2.txt
-rw-r--r-- 1 labex labex 0 May 15 11:00 file3.txt

Vous pouvez également utiliser l'expansion de modèle pour créer des fichiers avec des noms séquentiels :

touch document_{1..5}.txt

Cette commande crée cinq fichiers nommés document_1.txt, document_2.txt, et ainsi de suite jusqu'à document_5.txt.

Vérifiez avec :

ls -l document_*.txt

Cette capacité à créer plusieurs fichiers à la fois est particulièrement utile lors de la préparation d'une structure de répertoire pour un nouveau projet ou lors du test d'opérations sur plusieurs fichiers.

Utilisation de la commande touch avec des répertoires

Bien que la commande touch soit principalement utilisée avec des fichiers, elle peut également être utilisée avec des répertoires pour mettre à jour leurs horodatages (timestamps). Cependant, elle ne peut pas créer de répertoires - pour cela, vous utiliseriez la commande mkdir.

Tout d'abord, créons un répertoire sur lequel travailler :

mkdir testdir

Maintenant, vérifions l'horodatage de ce répertoire :

ls -ld testdir

Le résultat devrait afficher l'heure de création du répertoire.

Ensuite, utilisons la commande touch pour mettre à jour l'horodatage du répertoire :

touch testdir

Maintenant, vérifions à nouveau l'horodatage :

ls -ld testdir

Vous devriez constater que l'horodatage a été mis à jour à l'heure actuelle.

Vous pouvez également utiliser les mêmes options d'horodatage que nous avons apprises précédemment avec les répertoires. Par exemple, pour définir l'horodatage du répertoire à une date spécifique :

touch -t 202301010900 testdir

Vérifiez le changement :

ls -ld testdir

Une note importante concernant les répertoires : la commande touch ne met à jour que les horodatages des métadonnées du répertoire, pas le contenu à l'intérieur du répertoire. Chaque fichier à l'intérieur du répertoire conserve ses propres horodatages distincts.

Pour illustrer cela, créons un fichier à l'intérieur du répertoire :

touch testdir/insidefile.txt

Maintenant, vérifiez l'horodatage à la fois du répertoire et du fichier :

ls -ld testdir
ls -l testdir/insidefile.txt

Vous remarquerez qu'ils ont des horodatages différents, ce qui montre que la commande touch affecte chacun indépendamment.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande Linux touch pour la création de fichiers et la gestion des horodatages (timestamps). Voici les points clés abordés :

  1. Création de fichiers de base : Vous avez appris à créer des fichiers vides en utilisant la commande touch.
  2. Compréhension des horodatages : Vous avez exploré les différents types d'horodatages associés aux fichiers sous Linux et comment les afficher.
  3. Modification des horodatages : Vous avez pratiqué la modification des horodatages des fichiers pour des dates spécifiques, des moments relatifs et la mise en correspondance des horodatages entre les fichiers.
  4. Création de plusieurs fichiers : Vous avez découvert comment créer plusieurs fichiers simultanément en utilisant l'expansion de modèle et la liste directe.
  5. Travail avec les répertoires : Vous avez appris comment touch interagit avec les répertoires, en mettant à jour leurs horodatages tout en maintenant l'indépendance des fichiers à l'intérieur.

La commande touch est un outil fondamental dans la gestion des fichiers Linux. Sa capacité à créer des fichiers et à manipuler les horodatages en fait un outil précieux pour diverses tâches, allant de l'organisation de base des fichiers aux activités plus complexes de scripting et d'administration système.

Au fur et à mesure de votre progression dans le monde Linux, ces compétences serviront de base pour des opérations de fichiers plus avancées et des tâches de gestion système.