Mandrake Linux 8.2: Manuel de référence | ||
---|---|---|
Page précédente | Page suivante |
Dans le chapitre Concepts de base des systèmes UNIX, nous avons vu comment lancer un shell et ses principes de base, mais nous ne l'avons pas fait fonctionner. C'est ce que nous nous proposons de faire dans ce chapitre.
Le principal avantage du shell est le nombre d'utilitaires existants : des milliers sont disponibles et chacun d'entre eux a une tâche bien définie. Nous n'en examinerons ici qu'un petit nombre. L'une des grandes forces d'UNIX est la possibilité de combiner ces utilitaires, comme nous le verrons plus loin.
La manipulation de fichiers signifie ici « copier », « déplacer » et « effacer » des fichiers. Le changement de leurs attributs (propriétaire, permissions associées) sera examiné par la suite.
mkdir (MaKe DIRectory) est utilisé pour créer des répertoires. Sa syntaxe est simple :
mkdir [options] <répertoire> [répertoire ...] |
En fait, une seule option est vraiment intéressante : l'option -p. Si cette option est passée en argument, elle implique deux comportements :
mkdir créera les répertoires parents s'il n'existaient pas avant. Sans cette option, mkdir échouerait, se plaignant que les répertoires parents n'existent pas ;
mkdir terminera silencieusement si le répertoire que vous désirez créer existe déjà. De même, si vous ne spécifiez pas l'option -p, mkdir renverra un message d'erreur, se plaignant cette fois-ci que le répertoire à créer existe déjà.
Voici quelques exemples :
mkdir toto crée un répertoire du nom de toto dans le répertoire courant.
mkdir -p images/divers docs crée un répertoire divers dans le répertoire images après avoir créé ce dernier s'il n'existait pas (-p) ; il crée également un répertoire docs dans le répertoire courant.
Initialement, la commande touch n'a pas pour but de créer des fichiers mais de mettre à jour les dates d'accès et de modification[1].
Toutefois, l'un des effets de bord de touch est de créer les fichiers mentionnés comme des fichiers de taille 0 s'ils n'existaient pas déjà. La syntaxe est :
touch [options] fichier [fichier...] |
Il faut donc lancer la commande :
touch fichier1 images/fichier2 |
ce qui créera un fichier de taille 0 appelé fichier1 dans le répertoire courant et un fichier de taille 0 appelé fichier2 dans le répertoire images.
rm (ReMove) remplace les commandes del et deltree de DOS, et rajoute des options supplémentaires. Sa syntaxe est :
rm [options] <fichier|répertoire> [fichier|répertoire...] |
-r ou -R : supprime récursivement. Cette option est obligatoire pour supprimer un répertoire, même vide. Toutefois, pour effacer des répertoires vides, vous pouvez également utiliser la commande rmdir.
-i : demande une confirmation avant chaque effacement. Prenez note que, par défaut et pour des raisons de sécurité, la commande rm dans Mandrake Linux est un alias de rm -i (comme le sont également les commandes cp et mv). Si vous désirez les effacer, vous pouvez éditer le ficher .bashrc et ajouter la ligne suivante : unalias rm cp mv.
-f : le contraire de -i, cette option force la suppression des fichiers ou répertoires, même si l'utilisateur n'a pas l'autorisation d'écriture sur les fichiers[2].
Quelques exemples :
rm -i images/*.jpg fichier1 : suppression de tous les fichiers dont le nom se termine par .jpg dans le répertoire images, ainsi que le fichier fichier1 dans le répertoire courant. Une confirmation est demandée pour chacun des fichiers. Répondez o ou y pour confirmer, n pour annuler.
rm -Rf images/divers/ file* : suppression sans demande de confirmation de tout le répertoire divers/ dans le répertoire images/. De plus, tous les fichiers du répertoire courant dont le nom commence par file sont également effacés.
![]() | Un fichier effacé avec rm l'est de façon irréversible : il n'y a alors aucun moyen de récupérer ce fichier ! N'hésitez donc pas à utiliser l'option -i afin d'éviter d'effacer des données par erreur. |
La syntaxe de la commande mv est la suivante :
mv [options] <fichier|rép.> [fichier|rép...] <destination> |
-f : force l'opération. Aucun avertissement en cas d'écrasement d'un fichier au cours de l'opération.
-i : le contraire. Demande une confirmation à l'utilisateur avant d'écraser un fichier existant.
-v : mode verbeux qui rapporte tous les changements.
mv -i /tmp/pics/*.png . : déplace tous les fichiers du répertoire /tmp/pics/ dont le nom se termine par .png vers le répertoire courant (.). Une confirmation est demandée avant d'écraser un fichier existant.
mv toto titi : renomme le fichier (ou le répertoire) toto en titi. Si un répertoire titi existait déjà, l'effet de cette commande serait de bouger tout le répertoire toto (le répertoire lui-même et tous ses fichiers et sous-répertoires) dans le répertoire titi.
mv -vf fichier* images/ trash/ : déplace, sans demander de confirmation, tous les fichiers dans le répertoire courant dont le nom commence par fichier, ainsi que tout le répertoire images/ vers le répertoire trash/. Tous les changements effectués sont mentionnés.
cp remplace les commandes copy et xcopy de DOS et contient d'autres options. Sa syntaxe est la suivante :
cp [options] <fichier|rép.> [fichier|rép...] <destination> |
-R : copie récursivement ; obligatoire pour copier un répertoire, même vide.
-i : demande une confirmation avant d'écraser des fichiers.
-f : le contraire de -i. Remplace tous les fichiers existants sans demander de confirmation.
-v : mode verbeux qui mentionne toutes les actions effectuées par cp.
Quelques exemples :
cp -i /tmp/images/* images/ : copie tous les fichiers du répertoire /tmp/images dans le répertoire images/ du répertoire courant, en demandant une confirmation avant d'écraser un fichier.
cp -vR docs/ /shared/mp3s/* mestrucs/ : copie tout le répertoire docs du répertoire courant, en plus de tous les fichiers du répertoire /shared/mp3s dans le répertoire mestrucs, lequel est situé dans le répertoire courant.
cp toto titi : copie le fichier toto sous le nom de titi dans le répertoire courant.
[1] | Il y a trois mesures de temps distinctes pour chaque fichier sous UNIX : la date du dernier accès au fichier (atime), c'est-à-dire la date de la dernière ouverture du fichier en lecture ou en écriture ; la date de la dernière modification des attributs de l'inœud (mtime) ; et enfin la date de la dernière modification du contenu du fichier (ctime). |
[2] | Pour un utilisateur, il est suffisant de pouvoir écrire dans un répertoire pour en effacer des fichiers, même s'il n'en est pas le propriétaire. |
Page précédente | Début | Page suivante |
Petite introduction à la ligne de commande | Remonter | Manipulation des attributs de fichiers |