Aller au contenu
Administration Linux medium

Naviguer et gérer des fichiers sous Linux

15 min de lecture

Vous êtes connecté à votre serveur, face au prompt, et la première chose à savoir faire, c'est vous repérer dans l'arborescence et manipuler des fichiers. Créer un répertoire, copier un fichier de configuration, déplacer un backup, supprimer un fichier temporaire : ces gestes reviennent des dizaines de fois par jour en administration Linux. Ce guide vous montre les commandes essentielles pour y parvenir.

  • Se situer dans l'arborescence avec pwd
  • Se déplacer entre répertoires avec cd
  • Lister fichiers et répertoires avec ls et ses options clés
  • Créer des fichiers (touch) et des répertoires (mkdir)
  • Copier (cp), déplacer (mv) et supprimer (rm) des fichiers
  • Vérifier le résultat de chaque opération

Contrairement à un explorateur graphique, le terminal n'affiche pas en permanence où vous vous trouvez. Vous êtes toujours positionné quelque part dans l'arborescence, dans ce qu'on appelle le répertoire courant, et toutes les commandes que vous tapez s'y appliquent par défaut. Deux commandes suffisent à maîtriser ce point : pwd pour savoir où vous êtes, cd pour aller ailleurs.

À tout moment, pwd (print working directory) vous indique le répertoire dans lequel vous vous trouvez :

Fenêtre de terminal
pwd
Sortie
/home/bob

C'est le premier réflexe quand vous êtes perdu : pwd vous remet en contexte.

cd (change directory) est la commande de navigation fondamentale :

Fenêtre de terminal
cd /etc/ssh # aller dans un répertoire par chemin absolu
cd .. # remonter d'un niveau (répertoire parent)
cd ~ # retourner dans votre home (/home/bob)
cd - # retourner au répertoire précédent
cd # équivalent de cd ~ (retour au home)

Vérification : après chaque cd, lancez pwd pour confirmer votre position.

Fenêtre de terminal
cd /var/log
pwd
Sortie
/var/log

Pour comprendre la différence entre chemins absolus et relatifs, consultez le guide Chemins absolus et relatifs.

ls (list) affiche le contenu d'un répertoire. Sans option, il montre les noms des fichiers et dossiers :

Fenêtre de terminal
ls
Sortie
Documents Images Projets script.sh

Les options les plus utilisées en administration :

OptionEffetQuand l'utiliser
-lFormat long (permissions, propriétaire, taille, date)Vérifier les droits ou la taille
-aAffiche les fichiers cachés (commençant par .)Voir .bashrc, .ssh/, etc.
-hTailles lisibles (Ko, Mo, Go)Avec -l pour lire les tailles rapidement
-tTrie par date de modification (récent en premier)Trouver le dernier fichier modifié
-rInverse l'ordre du triAvec -t pour avoir le plus ancien en premier
-RListe récursive (sous-répertoires inclus)Explorer une arborescence

Les options se cumulent derrière un seul tiret, dans n'importe quel ordre : ls -la et ls -al produisent le même résultat. Voici les quatre combinaisons que vous taperez le plus souvent.

Fenêtre de terminal
ls -la # tout voir, format long (fichiers cachés inclus)
ls -lh # format long avec tailles lisibles
ls -lt # format long, trié par date
ls -ltr # format long, trié par date (ancien en premier)
Fenêtre de terminal
ls -lah /etc/ssh/
Sortie
total 620K
drwxr-xr-x 4 root root 4,0K mars 15 10:22 .
drwxr-xr-x 142 root root 12K mars 20 08:15 ..
-rw-r--r-- 1 root root 1,7K mars 15 10:22 ssh_config
-rw------- 1 root root 3,3K mars 15 10:22 sshd_config
-rw------- 1 root root 505 mars 15 10:22 ssh_host_ed25519_key
-rw-r--r-- 1 root root 175 mars 15 10:22 ssh_host_ed25519_key.pub

Cette ligne dense est celle que vous lirez le plus souvent en administration, il vaut donc la peine de la décoder une bonne fois. Le premier caractère indique le type de l'entrée, les neuf suivants ses permissions, puis viennent les propriétaires, la taille en octets et la date de dernière modification.

-rw-r--r-- 1 root root 3,3K mars 15 10:22 sshd_config
│ │ │ │ │ │ │
│ │ │ │ │ │ └─ nom du fichier
│ │ │ │ │ └─ date de modification
│ │ │ │ └─ taille
│ │ │ └─ groupe propriétaire
│ │ └─ utilisateur propriétaire
│ └─ nombre de liens
└─ type et permissions (d = répertoire, - = fichier, l = lien)

Sous Linux, créer un fichier et créer un répertoire sont deux opérations distinctes, avec deux commandes distinctes. Aucune des deux n'ouvre d'éditeur ni ne demande de confirmation : elles s'exécutent en silence, et c'est à vous de vérifier le résultat avec ls. Retenez surtout l'option -p de mkdir, celle qui évite de créer les répertoires un par un.

touch crée un fichier vide s'il n'existe pas. S'il existe déjà, il met à jour sa date de modification :

Fenêtre de terminal
touch /tmp/mon-fichier.txt
ls -l /tmp/mon-fichier.txt
Sortie
-rw-rw-r-- 1 bob bob 0 avr. 6 14:30 /tmp/mon-fichier.txt

mkdir (make directory) crée un ou plusieurs répertoires :

Fenêtre de terminal
mkdir /tmp/mon-dossier

L'option -p crée toute l'arborescence intermédiaire si elle n'existe pas :

Fenêtre de terminal
mkdir -p /tmp/projet/src/config

Sans -p, cette commande échouerait si /tmp/projet/ ou /tmp/projet/src/ n'existait pas.

Vérification :

Fenêtre de terminal
ls -ld /tmp/projet/src/config
Sortie
drwxrwxr-x 2 bob bob 4096 avr. 6 14:35 /tmp/projet/src/config

Copier un fichier de configuration avant de le modifier est le réflexe de base de l'administration : c'est votre seul moyen de revenir en arrière si le service refuse de redémarrer. Deux détails font toute la différence sur cette commande : sans l'option -r, elle refuse de traiter un répertoire, et sans -p, la copie perd les permissions et le propriétaire d'origine.

cp (copy) copie un fichier ou un répertoire vers une destination :

Fenêtre de terminal
cp /etc/ssh/sshd_config /tmp/sshd_config.bak

Options essentielles :

OptionEffet
-rCopie récursive (obligatoire pour les répertoires)
-pPréserve les permissions, le propriétaire et la date
-iDemande confirmation avant d'écraser un fichier existant
-vAffiche chaque fichier copié (verbose)

Copier un répertoire entier :

Fenêtre de terminal
cp -rp /etc/nginx/ /tmp/nginx-backup/

Vérification :

Fenêtre de terminal
ls -la /tmp/nginx-backup/

Linux ne propose pas de commande « renommer » : déplacer un fichier et le renommer sont la même opération, effectuée par mv. Changer le nom revient simplement à déplacer le fichier vers un chemin dont le dernier élément diffère. Comme cp, cette commande écrase la destination sans prévenir si elle existe déjà.

mv (move) sert à la fois à déplacer et à renommer :

Fenêtre de terminal
# Renommer un fichier
mv /tmp/ancien-nom.conf /tmp/nouveau-nom.conf
# Déplacer un fichier dans un répertoire
mv /tmp/fichier.txt /tmp/projet/
# Déplacer et renommer en même temps
mv /tmp/brouillon.txt /home/bob/Documents/rapport-final.txt

Options utiles :

OptionEffet
-iDemande confirmation avant d'écraser
-nNe pas écraser un fichier existant
-vAffiche chaque opération (verbose)
Fenêtre de terminal
mv -v /tmp/test /tmp/test-renamed
Sortie
renamed '/tmp/test' -> '/tmp/test-renamed'

C'est la section où l'attention compte le plus : en ligne de commande, il n'existe aucune corbeille et aucune annulation. Une suppression réussie ne produit d'ailleurs aucun message, ce qui rend l'erreur d'autant plus discrète. Deux commandes existent, rm qui supprime tout ce qu'on lui donne, et rmdir qui refuse de toucher à un répertoire non vide.

rm (remove) supprime des fichiers. Cette commande est irréversible, il n'y a pas de corbeille en ligne de commande.

Fenêtre de terminal
rm /tmp/fichier-temporaire.txt

Options :

OptionEffet
-rSuppression récursive (nécessaire pour les répertoires)
-iDemande confirmation pour chaque fichier
-fForce la suppression sans confirmation
-vAffiche chaque suppression
Fenêtre de terminal
# Supprimer un répertoire et son contenu
rm -r /tmp/projet-test/
# Supprimer avec confirmation
rm -ri /tmp/dossier-important/

rmdir ne supprime que les répertoires vides. C'est plus sûr que rm -r quand vous savez que le dossier devrait être vide :

Fenêtre de terminal
rmdir /tmp/dossier-vide

Si le répertoire contient des fichiers, rmdir refuse et affiche une erreur, ce qui vous protège d'une suppression accidentelle.

Cet enchaînement reprend toutes les commandes du guide sur une arborescence jetable créée dans /tmp, le répertoire de fichiers temporaires : rien de ce que vous y ferez n'affectera le système. Tapez les commandes plutôt que de les copier, et lancez systématiquement la vérification indiquée avant de passer à l'étape suivante. La dernière étape nettoie tout.

  1. Créez une arborescence de travail :

    Fenêtre de terminal
    mkdir -p /tmp/lab-fichiers/{config,backup,logs}

    Vérification : ls -R /tmp/lab-fichiers/

  2. Créez des fichiers de test :

    Fenêtre de terminal
    touch /tmp/lab-fichiers/config/app.conf
    touch /tmp/lab-fichiers/config/db.conf
    touch /tmp/lab-fichiers/logs/app.log
  3. Copiez la configuration dans le backup :

    Fenêtre de terminal
    cp -rp /tmp/lab-fichiers/config/ /tmp/lab-fichiers/backup/config-2026/

    Vérification : ls -la /tmp/lab-fichiers/backup/config-2026/

  4. Renommez un fichier :

    Fenêtre de terminal
    mv /tmp/lab-fichiers/config/app.conf /tmp/lab-fichiers/config/application.conf

    Vérification : ls /tmp/lab-fichiers/config/

  5. Supprimez les logs :

    Fenêtre de terminal
    rm /tmp/lab-fichiers/logs/app.log
    rmdir /tmp/lab-fichiers/logs

    Vérification : ls /tmp/lab-fichiers/, le dossier logs a disparu.

  6. Nettoyez tout :

    Fenêtre de terminal
    rm -r /tmp/lab-fichiers

Les messages d'erreur de ces commandes sont courts mais précis : ils nomment presque toujours le fichier en cause et la raison du refus. Prenez l'habitude de les lire en entier avant de relancer la commande : le message vous dit déjà quelle option manque ou quel droit vous fait défaut. Voici les sept que vous rencontrerez en premier, avec le geste correctif associé.

SymptômeCause probableSolution
No such file or directoryChemin incorrect ou faute de frappeVérifier avec ls et pwd, utiliser Tab pour l'auto-complétion
Permission deniedDroits insuffisants sur le fichier ou le répertoireVérifier avec ls -la, utiliser sudo si nécessaire
cp: omitting directoryOption -r manquante pour copier un répertoireUtiliser cp -r source/ destination/
rm: cannot remove: Is a directoryrm sans -r sur un répertoireUtiliser rm -r répertoire/
rmdir: failed: Directory not emptyLe répertoire contient des fichiers (peut-être cachés)Vérifier avec ls -a, puis utiliser rm -r si vous êtes sûr
mkdir: cannot create: File existsLe répertoire existe déjàNormal, pas d'erreur si vous ajoutez -p
Fichier écrasé par cp ou mvPas de confirmation demandéeToujours utiliser -i sur les fichiers importants

Manipuler des fichiers sans filet, c'est exactement ce que permet un environnement jetable : rien à casser, tout à apprendre. Le lab vous fait construire, copier, déplacer puis supprimer une petite arborescence avec cd, ls, cp, mv et rm, et l'état final de vos fichiers est comparé au résultat attendu.

Un second lab prolonge la manipulation de fichiers avec les liens : vous créez un lien physique qui partage l'inode, un lien symbolique qui pointe par chemin, et vous apprenez à les distinguer avec ls -li et le compteur de liens.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

  • pwd vous situe, cd vous déplace, ls vous montre le contenu.
  • ls -lah est la combinaison la plus courante : format long, fichiers cachés, tailles lisibles.
  • mkdir -p crée toute une arborescence en une commande.
  • cp -rp copie un répertoire en préservant les permissions, le réflexe pour les backups.
  • mv sert à la fois à déplacer et à renommer.
  • rm est irréversible, vérifiez avec ls avant de supprimer, préférez rm -i en cas de doute.
  • Après chaque opération, vérifiez le résultat avec ls -la.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn