Opérations de base sur les fichiers

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans le lab consacré aux opérations de base sur les fichiers sous Linux ! Sous Linux, presque tout est traité comme un fichier, ce qui rend les opérations sur les fichiers fondamentales pour utiliser le système. Ce lab vous guidera à travers les commandes les plus courantes pour gérer les fichiers et les répertoires, afin de vous aider à devenir plus à l’aise avec la navigation et l’organisation de votre système Linux.

Comprendre votre environnement de travail

Sous Linux, chaque utilisateur possède généralement un « répertoire personnel », représenté par ~. Toutefois, dans cet environnement de lab, vous commencerez dans le répertoire /home/labex/project, qui est notre répertoire de travail par défaut.

Commencez par ouvrir un terminal sur le bureau OU passez à l’onglet du terminal dans l’environnement de lab.

Capture d’écran de l’interface du terminal

Commençons par vérifier votre emplacement actuel :

pwd

pwd signifie « print working directory » (afficher le répertoire de travail). Cette commande affiche votre emplacement actuel dans le système de fichiers. Elle est essentielle pour vous repérer dans la structure des fichiers Linux. La sortie devrait être /home/labex/project.

Examinons maintenant la relation entre le répertoire courant et le répertoire personnel :

echo ~

Remarque : si vous ne parvenez pas à saisir le symbole ~ dans le terminal du bureau en raison de différences de disposition de clavier selon les pays, essayez de passer à l’onglet autonome Terminal, situé en haut à gauche de l’interface de la machine virtuelle.

Cette commande affiche le chemin de votre répertoire personnel, qui devrait être /home/labex.

Pour afficher le contenu de votre répertoire courant, utilisez :

ls

Cette commande liste les fichiers et les répertoires présents dans votre répertoire de travail courant (/home/labex/project).

Vérifions également le contenu de votre répertoire personnel :

ls ~

Cette commande liste le contenu de votre répertoire personnel, qui peut être différent de celui de votre répertoire de travail courant.

Il est important de comprendre la différence entre le répertoire de travail courant et le répertoire personnel pour naviguer efficacement dans le système de fichiers Linux.

Linux utilise ce que l’on appelle un « système de fichiers hiérarchique ». Imaginez un grand arbre avec des branches. Le tronc principal s’appelle le « répertoire racine » et est représenté par une simple barre oblique /. Tous les autres répertoires et fichiers partent de cette racine.

Voyons comment nous déplacer dans cette structure arborescente :

  1. Vérifiez votre emplacement actuel :
pwd

La sortie devrait être /home/labex/project. Si ce n’est pas le cas, vous vous trouvez peut-être dans un autre répertoire. Utilisez cd /home/labex/project pour revenir au point de départ.

  1. Affichez le contenu de votre répertoire courant :
ls

Cette commande liste tous les fichiers et répertoires présents à votre emplacement actuel. /home/labex/project est vide ; vous ne devriez donc rien voir.

  1. Remontez d’un niveau vers le répertoire parent :
cd ..

.. désigne « le répertoire parent ». Après cette commande, exécutez de nouveau pwd. Vous devriez maintenant vous trouver dans /home/labex.

  1. Revenez dans votre répertoire de projet :
cd project

Vous revenez ainsi dans /home/labex/project.

  1. Accédez à votre répertoire personnel :
cd ~

~ est un raccourci vers votre répertoire personnel. Exécutez pwd pour vérifier que vous êtes bien dans /home/labex.

  1. Revenez au répertoire de projet à l’aide d’un chemin absolu :
cd /home/labex/project

On parle de « chemin absolu » parce qu’il commence à la racine (/) et indique l’emplacement complet.

Créer des fichiers et afficher le contenu d’un répertoire

Maintenant que vous savez naviguer, créez quelques fichiers et découvrez comment afficher le contenu d’un répertoire.

Commencez par vérifier que vous vous trouvez dans le répertoire /home/labex/project :

cd /home/labex/project
  1. Créez quelques fichiers :
touch file1.txt

La commande touch sert à créer un fichier vide. Si le fichier existe déjà, elle met à jour son horodatage sans modifier son contenu. C’est une méthode simple pour créer de nouveaux fichiers vides.

echo "Hello, Linux" > file2.txt

Cette commande effectue deux opérations :

  • echo est une commande qui affiche du texte.
  • Le symbole > redirige la sortie de echo vers un fichier nommé file2.txt. Si le fichier n’existe pas, il est créé. S’il existe déjà, son contenu est remplacé.
echo "Hidden file" > .hiddenfile

Cette commande crée un fichier caché. Sous Linux, tout nom de fichier ou de répertoire qui commence par un point (.) est considéré comme caché.

  1. Créez maintenant un répertoire :
mkdir testdir

La commande mkdir, abréviation de « make directory », crée un nouveau répertoire nommé testdir.

  1. Affichage simple :
ls

Résultat de l’affichage du contenu du répertoire

Cette commande affiche le contenu de votre répertoire courant. Vous devriez voir file1.txt, file2.txt et testdir.

  1. Affichage détaillé :
ls -l

L’option -l — il s’agit d’un L minuscule, et non du chiffre 1 — fournit un affichage au format « long ». Vous verrez des informations supplémentaires telles que les permissions, le propriétaire, la taille et la date de modification.

  1. Afficher les fichiers cachés :
ls -a

Cette commande affiche tous les fichiers, y compris le fichier caché .hiddenfile que vous avez créé.

  1. Combiner les options :
ls -la

Cette commande combine le format long (-l) et l’affichage de tous les fichiers (-a).

  1. Afficher le contenu d’un répertoire précis :
ls -l testdir

Cette commande affiche le contenu du répertoire testdir, qui devrait être vide à ce stade.

Les commandes d’affichage utilisées dans cette étape servent à vous entraîner et à vérifier visuellement le résultat. Votre progression est évaluée en vérifiant que les fichiers et le répertoire requis ont été correctement créés.

Copier des fichiers et des répertoires

Vous disposez maintenant de quelques fichiers sur lesquels travailler. Apprenons à les copier :

  1. Copiez un fichier :
cp file1.txt file1_copy.txt

Cette commande crée dans le répertoire courant une copie de file1.txt nommée file1_copy.txt.

Vérifiez la copie :

ls
  1. Copiez un fichier dans un autre répertoire :
cp file2.txt testdir/

Cette commande copie file2.txt dans le répertoire testdir.

  1. Copiez un répertoire :
cp -r testdir testdir_copy

L’option -r signifie « récursif ». Elle est nécessaire pour copier des répertoires et garantir que tout leur contenu est copié.

  1. Vérifiez les copies :
ls
ls testdir
ls testdir_copy

Terminal affichant les fichiers copiés

Déplacer et renommer des fichiers et des répertoires

Sous Linux, la commande mv sert à la fois à déplacer et à renommer des fichiers ou des répertoires :

  1. Renommez un fichier :
mv file1.txt newname.txt

Cette commande renomme file1.txt en newname.txt.

  1. Déplacez un fichier dans un répertoire :
mv newname.txt testdir/

Cette commande déplace newname.txt dans le répertoire testdir.

  1. Renommez un répertoire :
mv testdir_copy new_testdir

Cette commande renomme testdir_copy en new_testdir.

  1. Déplacez et renommez en une seule commande :
mv testdir/newname.txt ./original_file1.txt

Cette commande sort newname.txt du répertoire testdir et le renomme original_file1.txt dans le répertoire courant.

  1. Vérifiez les modifications :
ls
ls testdir

Résultats de l’exécution des commandes

Supprimer des fichiers et des répertoires

La suppression de fichiers et de répertoires est une opération puissante. Contrairement aux interfaces graphiques, la ligne de commande ne dispose souvent pas de « corbeille ». Les suppressions effectuées avec rm sont généralement définitives. Vérifiez toujours attentivement vos commandes avant de les exécuter !

Nettoyons les fichiers et les répertoires que nous avons créés. Vérifiez que vous vous trouvez dans le répertoire /home/labex/project.

pwd
ls -a

Vous devriez voir des fichiers tels que original_file1.txt, .hiddenfile et file2.txt, ainsi que des répertoires tels que testdir et new_testdir.

.
..
.hiddenfile
file1_copy.txt
file2.txt
new_testdir
original_file1.txt
testdir
  1. Supprimer un seul fichier :

    rm original_file1.txt
    

    La commande rm, abréviation de « remove », supprime des fichiers. Vérifiez le résultat :

    ls
    

    original_file1.txt ne devrait plus apparaître.

  2. Supprimer avec confirmation interactive :

    Essayons de supprimer file2.txt, mais cette fois avec l’option interactive -i :

    rm -i file2.txt
    

    L’option -i vous demande une confirmation avant de supprimer chaque fichier. Saisissez y — pour « yes » — puis appuyez sur Entrée pour confirmer la suppression. Si vous saisissez n ou un autre caractère, le fichier ne sera pas supprimé.

    ls
    

    Si vous avez confirmé la suppression, file2.txt ne devrait plus apparaître.

  3. Observer le comportement avec un répertoire non vide :

    Vous souvenez-vous de new_testdir, créé en renommant testdir_copy ? Il contient encore la copie de file2.txt, donc rmdir échouera. Vérifiez d’abord son contenu :

    ls new_testdir
    

    Vous devriez voir file2.txt. Essayez maintenant rmdir :

    rmdir new_testdir
    

    rmdir (« remove directory ») ne fonctionne que sur les répertoires vides.

    ls
    

    new_testdir ne peut pas être supprimé parce qu’il n’est pas vide ; il devrait donc toujours apparaître dans la liste.

  4. Tenter de supprimer un répertoire non vide :

    Essayez maintenant d’utiliser rmdir sur testdir, qui contient encore file2.txt — copié à l’étape 4 :

    ls testdir
    rmdir testdir
    

    Vous verrez probablement un message d’erreur semblable à rmdir: failed to remove 'testdir': Directory not empty. C’est attendu, car rmdir ne peut pas supprimer les répertoires qui contiennent des fichiers ou d’autres répertoires.

  5. Supprimer un répertoire et son contenu de manière récursive :

    Pour supprimer un répertoire qui n’est pas vide, utilisez rm avec l’option -r — récursive :

    rm -r testdir
    

    Cette commande supprime le répertoire testdir ainsi que tout son contenu. Utilisez-la avec prudence.

    ls
    

    testdir ne devrait plus apparaître.

  6. Forcer la suppression — à utiliser avec une extrême prudence :

    Vous pouvez parfois vouloir supprimer des fichiers sans confirmation, même s’ils sont protégés contre l’écriture — ce qui n’est pas le cas ici. L’option -f (« force ») permet cela.

    Supprimez notre fichier caché :

    rm .hiddenfile
    ls -a
    

    Combinons maintenant -r et -f. La commande rm -rf est extrêmement puissante et potentiellement dangereuse. Elle supprime les répertoires de manière récursive (-r) et force la suppression sans confirmation (-f).

    !!! ZONE DANGEREUSE !!! Soyez ABSOLUMENT CERTAIN de savoir ce que vous supprimez avant d’exécuter rm -rf. Une simple erreur de frappe peut supprimer des fichiers système essentiels ou vos données personnelles. Il n’existe aucune annulation. Par exemple, rm -rf / pourrait tenter de supprimer l’intégralité du système si vous disposez des permissions nécessaires. Vérifiez toujours attentivement le chemin.

    Créons un répertoire et un fichier temporaires pour faire une démonstration sans danger :

    mkdir temp_dir
    touch temp_dir/temp_file.txt
    ls -R temp_dir
    

    Remarque : vous avez peut-être constaté que nous avons utilisé -R — en majuscule — avec ls, au lieu de -r — en minuscule — comme avec cp et rm. Il ne s’agit pas seulement d’une différence de casse : ce sont des options complètement différentes ! Pour ls, -R signifie « affichage récursif » — afficher les sous-répertoires — tandis que -r signifie « ordre de tri inverse ». Pour cp et rm, l’option récursive est -r — en minuscule. Consultez toujours le manuel (man command) pour comprendre les options propres à chaque commande.

    Supprimons maintenant ce répertoire en forçant la suppression :

    rm -rf temp_dir
    

    Vérifiez la suppression :

    ls
    

    temp_dir ne devrait plus apparaître.

N’oubliez pas : dans la ligne de commande Linux, les fichiers supprimés sont généralement perdus pour toujours. Utilisez rm avec prudence !

Résumé

Félicitations ! Vous avez appris les principales opérations sur les fichiers sous Linux :

  • Naviguer dans le système de fichiers avec cd et pwd
  • Créer des fichiers et des répertoires avec touch et mkdir
  • Afficher le contenu avec ls et ses options
  • Copier des fichiers et des répertoires avec cp
  • Déplacer et renommer avec mv
  • Supprimer des fichiers et des répertoires avec rm et rmdir

Ces commandes constituent la base de la gestion des fichiers sous Linux. Avec de la pratique, vous deviendrez à l’aise avec la gestion de vos fichiers et de vos répertoires depuis la ligne de commande.

N’oubliez pas d’utiliser ces commandes avec prudence, en particulier rm, qui supprime définitivement les fichiers et les répertoires sans possibilité de récupération.

Au fil de votre découverte de Linux, consultez les pages de manuel — par exemple man ls — pour en apprendre davantage sur chaque commande et ses options. Bonne exploration !