Red Hat Linux 7.0: Le Guide officiel de démarrage Red Hat Linux | ||
---|---|---|
Précédent | Chapitre 16. Utilisation des fichiers et des répertoires | Suivant |
A ce stade, vous disposez déjà de quelques connaissances sur la structure du système de fichiers ; vous avez également appris à créer des fichiers et des répertoires.
Mais une fois les fichiers et répertoires créés, ils ne sont pas immuables. Que se passe-t-il si vous voulez renommer et/ou déplacer des fichiers et des répertoires ?
Commençons par la commande de copie.
Comme pour bon nombre de fonctions de Linux, vous avez le choix entre toute une série d'options lorsque vous voulez manipuler des fichiers et des répertoires. Vous pouvez également utiliser des caractères génériques lorsque vous copiez, déplacez ou supprimez des fichiers et des répertoires.
Fondamentalement, la commande de copie se résume à entrer ceci :
cp source destination |
Ainsi, pour copier le fichier tennis.txt dans le sous-répertoire tigger de votre répertoire de connexion, entrez simplement :
cp tennis.txt tigger |
Remarquez que vous avez également utilisé des noms de chemin relatifs pour copier le fichier. La commande cp permet d'utiliser des noms de chemin relatifs ou absolus. Le répertoire de connexion est le répertoire parent du répertoire tigger ; cela signifie que tigger est un sous-répertoire du répertoire de connexion.
Consultez la page de manuel cp (man cp) pour obtenir une liste complète des options offertes par la commande cp. Voici cependant quelques-unes des options de la commande cp :
-i -- interactive. Vous demande de confirmer si le fichier va écraser un fichier dans le répertoire de destination. Cette option est utile car elle peut vous aider à éviter de commettre des erreurs.
-r -- récursive. Au lieu de copier tous les fichiers et répertoires, copie l'ensemble de l'arborescence des répertoires, avec les sous-répertoires et leur contenu, vers un autre emplacement.
-v -- verbeuse. Indique l'état d'avancement de la copie des fichiers.
Si vous utilisez la commande cp toute seule, vous ne verrez pas grand-chose de l'exécution de la commande. L'usage d'une option telle que -i peut rendre le processus un peu plus utile car, si vous voulez copier un fichier vers un emplacement contenant déjà un fichier du même nom, le système commencera par vous demander si vous voulez réellement écraser (remplacer) le fichier existant.
A présent que le fichier tennis.txt se trouve dans le répertoire tigger, utilisons la commande cp -i pour copier de nouveau le fichier au même endroit.
[newuser@localhost newuser]$ cp -i tennis.txt tigger cp: overwrite 'tigger/tennis.txt'? |
Pour écraser le fichier qui se trouve déjà dans le répertoire, cliquez sur Y, puis appuyez sur Entrée. Vous ne souhaitez pas écraser le fichier ? C'est le moment d'appuyer sur N, puis sur la touche Entrée.
Pour déplacer des fichiers, utilisez la commande mv (man mv), similaire à la commande cp ; la seule différence est qu'avec mv, le fichier est physiquement déplacé d'un endroit à l'autre, au lieu d'être simplement copié comme c'est le cas avec cp.
Les options communes avec mv comprennent :
-i -- interactive. Vous demande de confirmer si le fichier sélectionné doit écraser un fichier existant dans le répertoire de destination. C'est une option utile car, comme l'option -i de cp, vous avez la possibilité de confirmer votre volonté de remplacer un fichier existant.
-f -- forcée. Prend le pas sur le mode interactif et opère le déplacement sans vous demander confirmation. A moins d'être certain de vouloir forcer le déplacement, utilisez cette option avec précaution ; il convient d'être suffisamment familiarisé avec le système.
-v -- verbeuse. Affiche la liste des fichiers en cours de déplacement.
Si vous voulez déplacer un fichier d'un répertoire personnel vers un autre répertoire, entrez :
mv tennis.txt tigger |
ou mv tennis.txt /home/newuser /home/newuser/tigger en utilisant des noms de chemin absolus.
En réalité, nous avons déjà couvert la moitié de la procédure de changement de nom car, lorsque vous copiez ou déplacez des fichiers, vous pouvez également les renommer.
Pour copier le fichier tennis.txt du répertoire de connexion vers le sous-répertoire tigger, entrez simplement :
cp tennis.txt tigger |
Pour copier et renommer ce fichier de tennis.txt en basket.txt, entrez :
cp tennis.txt tigger/piglet.txt |
Pour déplacer et renommer le fichier, substituez simplement la commande mv à la commande cp dans l'exemple ci-dessus.
Si vous accédez au répertoire (cd) tigger et utilisez la commande ls, vous voyez le fichier basket.txt.
Si vous voulez simplement renommer le fichier en conservant son emplacement, exécutez uniquement la commande mv dans le répertoire en cours :
mv tennis.txt basket.txt |
Nous avons parlé de la création de fichiers à l'aide de la commande touch et de la redirection dans le Chapitre 15. Nous avons également créé le répertoire tigger à l'aide de la commande mkdir.
Mais nous n'avons pas encore vu comment supprimer des fichiers et des répertoires.
La suppression de fichiers et de répertoires à l'aide de la commande rm (man rm) est un processus simple.
Prenons le nouveau fichier basket.txt et supprimons-le du répertoire tigger à l'aide de la commande rm :
rm basket.txt |
Que se passe-t-il si nous ne voulions pas réellement nous en débarrasser ? Trop tard ! Une fois de plus, c'est là où l'option -i (interactive) devient utile car elle offre la possibilité de réfléchir à deux fois avant de supprimer un fichier.
[newuser@localhost newuser]$ rm -i basket.txt rm: remove 'basket.txt'? |
Vous pouvez également supprimer des fichiers à l'aide du caractère générique *. Soyez prudent néanmoins car vous risquez de supprimer certains fichiers involontairement.
Pour supprimer un fichier à l'aide d'un caractère générique, entrez :
rm bask* |
Vous pouvez également supprimer plusieurs fichiers dans une seule commande, par exemple, en entrant :
rm basket.txt tennis.txt |
Parmi les options pour la suppression de fichiers et de répertoires figurent :
-i -- interactive. Vous demande de confirmer la suppression. C'est une option très utile.
-f -- forcée. Prend le pas sur le mode interactif et supprime le ou les fichiers sans demander confirmation. Cette option peut poser problème à moins que vous ne sachiez exactement ce que vous faites.
-v -- verbeuse. Affiche la liste des fichiers en cours de suppression.
-r -- récursive. Lors de la suppression de répertoires, cette option supprime tous les fichiers et sous-répertoires qu'ils contiennent. Elle permet également de se débarrasser d'un répertoire vide.
Pour supprimer des répertoires à l'aide de la commande rm, spécifiez l'option -r.
Par exemple, si vous voulez supprimer de façon récursive le répertoire tigger, entrez :
rm -r tigger |
Si vous voulez combiner des options, par exemple forcer une suppression récursive, entrez :
rm -rf tigger |
Soyez prudent ! | |
---|---|
La commande rm est suffisamment puissante pour anéantir tout votre système ! Si vous êtes connecté en tant que root et entrez la commande rm -rf / vous êtes éliminé (comme un serpent se mordant la queue, la commande supprime de façon récursive tout ce qu'il y a sur le système). |
Une alternative plus sûre à l'utilisation de rm pour supprimer des répertoires est la commande rmdir. Cette commande ne permet pas d'effectuer des suppressions de manière récursive, de sorte qu'il est impossible de supprimer un répertoire contenant des fichiers.
Consultez la page de manuel rmdir en entrant man rmdir pour en savoir plus sur la commande.
Précédent | Sommaire | Suivant |
Identification et utilisation des types de fichier | Niveau supérieur | Questions et réponses |