Retour au cours

manipulation de fichiers : créer, copier, déplacer, supprimer

Objectifs

  • Créer des fichiers et des dossiers avec touch et mkdir.
  • Copier des fichiers et des dossiers avec cp.
  • Déplacer et renommer des fichiers et des dossiers avec mv.
  • Supprimer des fichiers et des dossiers de manière sûre avec rm.

touch : Créer un fichier vide

La commande touch est le moyen le plus simple de créer un nouveau fichier vide.

touch mon_fichier.txt

Si le fichier existe déjà, touch mettra simplement à jour sa date de dernière modification, sans en altérer le contenu.

mkdir : Créer un dossier

mkdir (Make Directory) permet de créer un ou plusieurs dossiers.

mkdir mon_dossier
  • Option -p (parents) : Très utile, elle permet de créer toute l’arborescence parente si elle n’existe pas.
    # Crée 'projet', puis 'src' à l'intérieur, puis 'components' à l'intérieur.
    mkdir -p projet/src/components

cp : Copier des fichiers et des dossiers

cp (Copy) copie des fichiers ou des dossiers d’une source vers une destination.

  • Copier un fichier :

    # Crée une copie du fichier
    cp rapport.txt rapport.txt.bak
    
    # Copie le fichier dans un autre dossier
    cp rapport.txt ./archives/
  • Copier un dossier : Pour copier un dossier et tout son contenu, vous devez utiliser l’option -r (récursif).

    cp -r projet/ projet_backup/

mv : Déplacer et Renommer

mv (Move) sert à la fois à déplacer et à renommer. L’action dépend de la destination.

  • Déplacer : Si la destination est un dossier existant, mv y déplace la source.

    mv image.jpg ./photos/
  • Renommer : Si la destination est un nouveau nom, mv renomme la source.

    mv rapport_final.txt rapport_v2.txt

rm : Supprimer des fichiers et des dossiers

rm (Remove) supprime des fichiers. Attention, la suppression est immédiate et irréversible. Il n’y a pas de corbeille en ligne de commande.

  • Supprimer un fichier : rm fichier_obsolete.txt

  • Supprimer un dossier : Pour supprimer un dossier, vous devez utiliser l’option -r (récursif), qui supprime le dossier et tout son contenu. rm -r mon_vieux_dossier

  • Options importantes :

    • -i (interactif) : Demande une confirmation avant chaque suppression.
    • -f (force) : Force la suppression sans jamais demander confirmation.

La commande la plus dangereuse : rm -rf

La combinaison rm -rf est extrêmement puissante et dangereuse. Elle supprime de manière récursive (-r) et forcée (-f) tout ce que vous lui donnez, sans poser de question. Une faute de frappe peut avoir des conséquences désastreuses. Utilisez-la avec une extrême prudence.

Bonnes pratiques

  • Pensez avant de supprimer : Avant de lancer une commande rm, surtout avec -r ou *, vérifiez bien où vous êtes (pwd) et ce que vous ciblez.
  • Utilisez l’option -i en alias : Beaucoup de systèmes configurent par défaut un alias alias rm='rm -i'. Cela vous protège contre les suppressions accidentelles en vous demandant toujours confirmation. Vous pouvez le mettre dans votre fichier .bashrc.
  • Dry Run : Avant une suppression complexe, vous pouvez remplacer rm par ls pour lister les fichiers qui seraient supprimés.

Exercices

  1. Créer une structure :

    • Créez un dossier mon_site.
    • À l’intérieur, créez les dossiers css, js, et images en une seule commande.
    • Créez un fichier index.html à la racine de mon_site.
  2. Copier et Renommer :

    • Créez une copie de index.html nommée contact.html.
    • Créez un dossier backup.
    • Copiez tout le dossier mon_site dans backup.
  3. Déplacer :

    • Dans le dossier mon_site, créez un fichier style.css.
    • Déplacez ce fichier dans le sous-dossier css.
  4. Supprimer :

    • Supprimez uniquement le fichier contact.html.
    • Supprimez tout le dossier backup.