Polarys

Navigation & fichiers

Créer, copier, déplacer et supprimer des fichiers

Créer, copier, déplacer et supprimer des fichiers

En tant que technicien, vous manipulez quotidiennement des fichiers sur les serveurs Linux : sauvegardes de configs, déplacement de logs, nettoyage d'espace disque. Ces opérations s'effectuent avec une poignée de commandes simples mais redoutables : car rm n'a pas de corbeille.

mkdir : créer des dossiers

mkdir sauvegardes                  # crée un dossier dans le répertoire courant
mkdir -p /opt/glpi/sauvegardes    # crée toute l'arborescence si elle n'existe pas

L'option -p (parents) est indispensable quand les dossiers intermédiaires n'existent pas encore.

touch : créer un fichier vide (ou mettre à jour la date)

touch rapport.txt         # crée rapport.txt vide
touch config.bak          # utile pour initialiser un fichier avant de le remplir

cp : copier

cp fichier.txt copie.txt             # copier un fichier
cp -r /etc/apache2 /tmp/apache2-bak  # copier un dossier (-r = récursif)
cp -p fichier.conf /tmp/             # copier en préservant les droits et dates

mv : déplacer (ou renommer)

mv rapport.txt /tmp/            # déplacer vers /tmp/
mv ancien-nom.txt nouveau.txt  # renommer (même dossier)
mv *.log /var/archive/          # déplacer tous les .log

mv ne copie pas : il coupe-colle. Sur le même système de fichiers, c'est instantané.

rm : supprimer (SANS corbeille)

rm fichier.txt             # supprimer un fichier
rm -r /tmp/anciens-logs/   # supprimer un dossier et son contenu
rm -i *.log                # demande confirmation avant chaque suppression

Règle d'or : ne jamais utiliser rm -rf / ni rm -rf /* : c'est la commande qui efface tout le système sans confirmation.

Wildcards (caractères joker)

JokerSignificationExemple
*N'importe quelle suite de caractères*.log → tous les .log
?Un seul caractèrelog?.txt → log1.txt, logA.txt
[abc]Un caractère parmi la liste[0-9]*.conf

Cas concret

L'espace disque du serveur GLPI est presque plein. Vous devez archiver les logs de plus de 30 jours avant de les supprimer :

# 1. Créer un dossier d'archive daté
mkdir -p /opt/archives/$(date +%Y-%m-%d)

# 2. Copier les anciens logs (on verra find plus tard)
cp /var/log/glpi/*.log /opt/archives/$(date +%Y-%m-%d)/

# 3. Vérifier avant de supprimer
ls -lh /opt/archives/$(date +%Y-%m-%d)/

# 4. Supprimer les originaux
rm /var/log/glpi/*.log
flowchart TD
  A[Identifier les fichiers à traiter] --> B{Copier ou déplacer ?}
  B -->|Garder l'original| C[cp -r source destination]
  B -->|Supprimer l'original| D[mv source destination]
  C --> E[Vérifier avec ls -lh]
  D --> E
  E --> F{Fichiers obsolètes à supprimer ?}
  F -->|Oui, avec précaution| G[rm -i fichiers]
  F -->|Non| H[Terminé]

Erreurs fréquentes

  • Utiliser rm -r sans vérifier ce que l'on pointe : un ls avant rm évite les catastrophes.
  • Oublier -r avec cp pour copier un dossier : cp seul échoue silencieusement sur un dossier.
  • Confondre mv (coupe) et cp (copie) : après un mv, le fichier source n'existe plus.

À retenir

  • mkdir -p crée toute l'arborescence en une commande.
  • rm est définitif : toujours vérifier avec ls avant, ou utiliser rm -i.
  • mv sert à la fois à déplacer et à renommer.

Mini-exercice

Dans votre terminal, créez la structure /tmp/test-polarys/logs/ avec une seule commande mkdir -p. Créez ensuite un fichier access.log vide avec touch. Copiez-le sous le nom access.log.bak avec cp. Vérifiez le résultat avec ls -lh /tmp/test-polarys/logs/.

Quiz de validation

Quiz - 6 questions

1. Quelle option de mkdir permet de créer tous les dossiers parents manquants en une seule commande ?

2. Quelle est la différence principale entre 'cp' et 'mv' ?

3. Comment copier un dossier entier avec tout son contenu ?

4. Que fait le wildcard * dans la commande 'rm *.log' ?

5. Quelle option de 'rm' demande confirmation avant chaque suppression ?

6. Un technicien veut renommer le fichier 'glpi.conf.old' en 'glpi.conf'. Quelle commande utilise-t-il ?

Suis ta progression

Crée un compte gratuit pour suivre ta progression et accéder à toutes les leçons.