Introduction
Bienvenue dans le laboratoire d'introduction aux opérations sur les fichiers et répertoires Linux ! Si vous débutez avec Linux, ne vous inquiétez pas : nous vous guiderons à chaque étape, en expliquant non seulement ce qu'il faut faire, mais aussi pourquoi nous le faisons. Ce laboratoire est conçu pour vous offrir une expérience pratique du système de fichiers Linux, qui est fondamental pour travailler sous Linux.
Avant de commencer, passons en revue quelques concepts de base :
- Système de fichiers Linux : Imaginez-le comme une structure arborescente permettant d'organiser tous les fichiers de votre ordinateur. Contrairement à Windows avec ses lettres de lecteur (C:, D:, etc.), Linux possède un répertoire racine unique (/) à partir duquel tout le reste se ramifie.
- Répertoire : C'est le terme Linux pour ce que vous connaissez peut-être sous le nom de "dossier" dans d'autres systèmes d'exploitation. Il s'agit d'un conteneur pour des fichiers et d'autres répertoires.
- Fichier : Sous Linux, presque tout est un fichier ! Les documents classiques, les répertoires et même les périphériques matériels sont traités comme des fichiers. Cette approche unifiée simplifie de nombreuses opérations.
- Chemin (Path) : C'est comme une adresse pour un fichier ou un répertoire. Nous apprendrons les chemins absolus (qui partent du répertoire racine) et les chemins relatifs (qui partent de votre emplacement actuel).
- Terminal : C'est votre centre de commande pour interagir avec Linux. Il peut sembler intimidant au début, mais vous découvrirez vite que c'est un outil puissant pour gérer votre système.
- Recherche de fichiers : Linux fournit des outils puissants pour trouver des fichiers dans tout le système. Nous explorerons des commandes comme
findetwhichpour vous aider à localiser rapidement des fichiers et des exécutables.
Prêt à commencer ? Entamons notre voyage dans le système de fichiers Linux !
Exploration de la structure des répertoires Linux
Dans cette étape, nous allons faire le tour du système de fichiers Linux. Cela vous aidera à comprendre où sont stockés les différents types de fichiers et comment le système est organisé.
Ouvrez votre terminal. Vous devriez voir une invite se terminant par un signe
$. C'est ici que vous taperez vos commandes. Vous êtes actuellement dans votre répertoire de projet, qui est/home/labex/project. Confirmons cela :pwdpwdsignifie "print working directory" (afficher le répertoire de travail). Il vous indique où vous vous trouvez dans le système de fichiers.Maintenant, visualisons le niveau supérieur de la structure des répertoires :
tree -L 1 /La commande
treeaffiche la structure des répertoires sous forme d'arbre. L'option-L 1limite la sortie au premier niveau sous le répertoire racine, ce qui rend le résultat lisible et évite d'inonder votre terminal. L'argument/lui indique de commencer à partir du répertoire racine. Ne vous souciez pas de tout comprendre pour l'instant, nous nous concentrerons sur les parties les plus importantes.Explorons quelques répertoires principaux :
ls /home ls /etc ls /bin/homeest l'endroit où sont stockés les répertoires des utilisateurs. Chaque utilisateur possède généralement son propre répertoire ici./etccontient les fichiers de configuration du système./bincontient les binaires (programmes) essentiels qui doivent être disponibles pour tous les utilisateurs.
Maintenant, naviguons vers le répertoire racine et listons son contenu :
cd / ls -lcdsignifie "change directory" (changer de répertoire). Le/vous emmène au répertoire racine.ls -lliste le contenu du répertoire dans un format détaillé. Le-lest appelé une option ou un drapeau (flag), qui modifie le comportement de la commande.Retournons à votre répertoire personnel :
cd ~ pwdLe
~est un raccourci qui représente toujours votre répertoire personnel, quel que soit l'endroit où vous vous trouvez dans le système de fichiers.
Après cette étape, vous devriez avoir une compréhension de base de la structure des répertoires Linux et savoir comment y naviguer. N'oubliez pas, il n'est pas nécessaire de tout mémoriser immédiatement ; vous pourrez toujours utiliser ces commandes pour vous remémorer la structure.
Comprendre les chemins et la navigation
Maintenant que nous avons une vue d'ensemble du système de fichiers, apprenons à naviguer efficacement. Nous allons explorer les concepts de chemins absolus et relatifs, qui sont cruciaux pour se déplacer dans le système de fichiers.
Tout d'abord, créons une structure de répertoire pour nous entraîner :
mkdir -p ~/project/practice/subdirectorymkdirsignifie "make directory" (créer un répertoire). L'option-pnous permet de créer des répertoires parents s'ils n'existent pas. Cette commande crée un répertoirepracticeà l'intérieur de votre répertoireproject, et unsubdirectoryà l'intérieur depractice.Naviguez vers le nouveau sous-répertoire en utilisant un chemin relatif :
cd ~/project/practice/subdirectory pwdCe chemin est relatif à votre répertoire personnel (
~). On l'appelle chemin relatif car il dépend de votre emplacement actuel.Maintenant, remontons d'un niveau dans la structure des répertoires :
cd .. pwd..fait toujours référence au répertoire parent. C'est un raccourci pratique pour remonter dans l'arborescence.Utilisons un chemin absolu pour retourner au sous-répertoire :
cd /home/labex/project/practice/subdirectory pwdIl s'agit d'un chemin absolu car il part du répertoire racine (
/) et donne le chemin complet vers la destination, quel que soit l'endroit où vous vous trouvez actuellement.Pratiquons maintenant quelques raccourcis de navigation :
cd ~ ## Aller au répertoire personnel pwd cd - ## Aller au répertoire précédent pwd cd ## Une autre façon d'aller au répertoire personnel pwdCes raccourcis peuvent vous éviter beaucoup de saisie !
À la fin de cette étape, vous devriez être à l'aise avec la navigation dans le système de fichiers en utilisant des chemins absolus et relatifs. N'oubliez pas que c'est en forgeant qu'on devient forgeron : n'hésitez pas à expérimenter avec ces commandes !
Création et gestion de fichiers et de répertoires
Maintenant que nous sommes à l'aise avec la navigation, apprenons à créer et gérer des fichiers et des répertoires. Ce sont des compétences fondamentales pour travailler sous Linux.
Naviguez vers votre répertoire de projet :
cd ~/projectCréons plusieurs répertoires à la fois :
mkdir dir1 dir2 dir3 lsmkdirpeut créer plusieurs répertoires en une seule commande.lsliste le contenu du répertoire actuel, afin que vous puissiez voir ce que vous avez créé.Créons maintenant un fichier vide :
touch file1.txt ls -l file1.txttouchest utilisé pour créer des fichiers vides ou mettre à jour l'horodatage de fichiers existants. La commandels -laffiche des informations détaillées sur le fichier, y compris sa taille (qui devrait être de 0 octet).Créons un fichier avec du contenu :
echo "Hello, Linux" > file2.txt cat file2.txtechoaffiche du texte, et>redirige ce texte vers un fichier, en créant le fichier s'il n'existe pas.catest utilisé pour afficher le contenu du fichier.Ajoutons maintenant du contenu au fichier :
echo "This is a new line." >> file2.txt cat file2.txt>>ajoute du contenu à la fin du fichier au lieu de l'écraser. Remarquez comment le fichier contient maintenant deux lignes.Enfin, créons une structure de répertoire imbriquée :
mkdir -p nested/structure/example tree nestedLa commande
treenous donne une belle représentation visuelle de la structure de répertoire que nous venons de créer.
À la fin de cette étape, vous devriez être à l'aise avec la création de fichiers et de répertoires, l'ajout de contenu aux fichiers et la visualisation de leur contenu. Ces opérations constituent l'épine dorsale de la gestion de fichiers sous Linux.
Copier, déplacer et renommer des fichiers
Maintenant que nous savons créer des fichiers et des répertoires, apprenons à les manipuler. Nous allons couvrir la copie, le déplacement et le renommage de fichiers et de répertoires.
Commençons par copier un fichier :
cp file1.txt dir1/ ls dir1cpest la commande de copie. Ici, nous copionsfile1.txtdans le répertoiredir1.Copions et renommons un fichier en une seule commande :
cp file2.txt dir2/file2_copy.txt ls dir2Cela crée une copie de
file2.txtdansdir2, mais avec un nouveau nom.Déplaçons un fichier :
mv file1.txt dir3/ ls ls dir3mvest utilisé pour déplacer des fichiers. Remarquez quefile1.txtn'est plus dans le répertoire actuel, mais apparaît maintenant dansdir3.Nous pouvons également utiliser
mvpour renommer un fichier :mv dir3/file1.txt dir3/renamed_file.txt ls dir3Cela renomme
file1.txtenrenamed_file.txtà l'intérieur dedir3.Enfin, copions un répertoire et son contenu :
cp -r nested dir1/ tree dir1L'option
-rindique àcpde copier les répertoires de manière récursive (y compris tous les sous-répertoires et fichiers).
N'oubliez pas que lorsque vous déplacez ou copiez des fichiers, vous pouvez utiliser des chemins absolus ou relatifs. Choisissez celui qui est le plus pratique dans votre contexte actuel.
Visualisation et modification du contenu des fichiers
Dans cette dernière étape, nous apprendrons des méthodes plus avancées pour visualiser le contenu des fichiers et comment modifier des fichiers à l'aide d'un éditeur de texte simple.
Créons un nouveau fichier avec plusieurs lignes en utilisant un "here-document" :
cat << EOF > multiline.txt Line 1: Hello, Linux Line 2: This is a multiline file. Line 3: Created using a here-document. EOFCeci utilise un "here-document" pour créer un fichier avec plusieurs lignes. C'est un moyen pratique de créer des fichiers avec un contenu prédéfini. L'opérateur
<<est suivi d'un délimiteur (dans ce cas,EOF). Le shell lit ensuite toutes les lignes suivantes comme entrée jusqu'à ce qu'il voie une ligne contenant uniquement le délimiteur. Tout ce bloc de texte est ensuite redirigé vers le fichiermultiline.txt.Visualisez le contenu du fichier :
cat multiline.txtNous avons déjà utilisé
cat, mais il est particulièrement utile pour une visualisation rapide du contenu d'un fichier.Visualisez le fichier avec des numéros de ligne :
nl multiline.txtnlajoute des numéros de ligne à la sortie, ce qui peut être utile pour référencer des lignes spécifiques.Visualisez les deux premières lignes du fichier :
head -n 2 multiline.txtLa commande
headaffiche le début d'un fichier. L'utilisation de-n 2affiche les deux premières lignes. Il est important de noter que-n2sans espace est également valide et fonctionne de manière identique.Visualisez la dernière ligne du fichier :
tail -n 1 multiline.txtDe même,
tailest utilisé pour visualiser la fin d'un fichier. Encore une fois,-n 1et-n1sont équivalents.Modifions maintenant le fichier en utilisant nano :
nano multiline.txtNano est un éditeur de texte simple. Vous pouvez utiliser les touches fléchées pour naviguer, taper pour modifier, et suivre les commandes en bas de l'écran (^ signifie Ctrl).
Ajoutez une quatrième ligne au fichier, puis enregistrez et quittez (Ctrl+X, puis Y, puis Entrée).
Visualisez le fichier mis à jour :
cat multiline.txtVous devriez voir votre nouvelle ligne ajoutée au fichier.
Ces commandes vous offrent des outils puissants pour inspecter et modifier le contenu des fichiers directement depuis la ligne de commande.
Trouver des fichiers sous Linux
Trouver des fichiers rapidement est une compétence essentielle sous Linux. Apprenons quelques commandes courantes utilisées pour localiser des fichiers.
Tout d'abord, utilisons la commande
findpour rechercher tous les fichiers .txt dans le répertoire actuel et ses sous-répertoires :find . -name "*.txt"Cette commande devrait lister tous les fichiers .txt dans votre répertoire actuel et ses sous-répertoires. Si vous ne voyez aucune sortie, cela signifie qu'il n'y a pas de fichiers .txt dans votre structure de répertoire actuelle. Créons-en un :
echo "This is a test file" > test.txt find . -name "*.txt"Maintenant, vous devriez voir ./test.txt dans la sortie.
Recherchons maintenant un fichier spécifique dans tout le système :
sudo find / -name "passwd"Cette commande recherchera les fichiers nommés "passwd" dans tout le système de fichiers. Nous utilisons
sudoici car la recherche dans tout le système de fichiers (en commençant par le répertoire racine/) nécessite des autorisations élevées. De nombreux répertoires système ne sont pas lisibles par les utilisateurs ordinaires, doncsudonous permet de rechercher dans ces zones protégées.Vous devriez voir une sortie similaire à :
/etc/pam.d/passwd /etc/passwd /usr/bin/passwd /usr/share/doc/passwd /usr/share/lintian/overrides/passwdLa commande
findest très puissante. Nous pouvons également effectuer des recherches en fonction de la taille du fichier. Par exemple, trouvons les fichiers de plus de 1 Mo dans votre répertoire personnel :find ~ -size +1MCela devrait lister tous les fichiers de plus de 1 Mo dans votre répertoire personnel.
Nous pouvons également utiliser
findpour rechercher des fichiers modifiés dans un certain laps de temps. Trouvons les fichiers de votre répertoire personnel qui ont été modifiés au cours des dernières 24 heures :find ~ -mtime -1Enfin, utilisons la commande
whichpour trouver l'emplacement des fichiers exécutables :which pythonVous devriez voir une sortie comme :
/usr/bin/pythonSi vous ne voyez pas cette sortie, essayez :
which python3
Avec ces commandes, vous devriez être en mesure de localiser facilement des fichiers dans un système Linux. N'oubliez pas que la commande find est très puissante avec de nombreuses options qui peuvent être combinées, ce qui en fait un outil polyvalent pour trouver des fichiers selon divers critères.
Résumé
Félicitations ! Vous avez terminé le laboratoire d'introduction aux opérations sur les fichiers et répertoires Linux. Récapitulons ce que vous avez appris :
- Vous avez exploré la structure des répertoires Linux, en comprenant l'objectif des répertoires clés comme
/home,/etcet/bin. - Vous avez appris les chemins absolus et relatifs, et comment naviguer efficacement dans le système de fichiers en utilisant des commandes comme
cdet des raccourcis comme~et... - Vous vous êtes entraîné à créer des fichiers et des répertoires, et avez appris à ajouter du contenu aux fichiers en utilisant des commandes comme
mkdir,touchetecho. - Vous avez maîtrisé la manipulation de fichiers, y compris la copie, le déplacement et le renommage de fichiers et de répertoires avec
cpetmv. - Vous avez appris diverses façons de visualiser le contenu des fichiers avec
cat,headettail, et comment modifier des fichiers à l'aide de l'éditeur de texte nano. - Enfin, vous avez exploré des techniques de recherche de fichiers puissantes en utilisant des commandes comme
findetwhich, vous permettant de localiser rapidement des fichiers et des exécutables dans tout le système Linux.
Ces compétences constituent la base du travail sous Linux. Au fur et à mesure que vous poursuivrez votre apprentissage de Linux, vous développerez ces bases pour effectuer des opérations plus complexes et des tâches d'administration système.
N'oubliez pas que la clé pour maîtriser ces compétences est la pratique. N'ayez pas peur d'expérimenter avec ces commandes dans votre environnement Linux. Essayez de créer vos propres structures de répertoires, de déplacer des fichiers, de modifier le contenu des fichiers et de rechercher des fichiers en utilisant différents critères. Plus vous pratiquerez, plus vous serez à l'aise avec la ligne de commande Linux.
Grâce à ces compétences en gestion et en recherche de fichiers, vous êtes bien équipé pour naviguer et manipuler efficacement le système de fichiers Linux. Continuez à explorer et bon apprentissage !



