Linux-Mandrake: Manuel de référence | ||
---|---|---|
Page précédente | Page suivante |
Dans le chapitre « Basic Unix concepts » du Guide de l'utilisateur, 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 : il en existe en fait des milliers 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 est utilisé pour créer des répertoires. Sa syntaxe est simple :
mkdir [options] <répertoire> [répertoire ...] |
mkdir toto crée un répertoire du nom de toto dans le répertoire courant.
mkdir -p images/divers docs crée 1) un répertoire divers dans le répertoire images après avoir créé ce dernier s'il n'existait pas ; 2) un répertoire docs.
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 de ses effets de bord 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.
Cette commande joue le rôle des del et deltree du DOS, et plus encore. 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, il existe aussi la commande rmdir pour effacer des répertoires vides.
-i Demande confirmation avant chaque effacement. Il est recommandé de placer un alias de rm vers rm-i dans votre shell, et ceci également pour les commandes cp et mv.
-f Le contraire de -i, 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 Supprime 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, en demandant confirmation 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/ en plus de tous les fichiers du répertoire courant dont le nom commence par file.
![]() | Un fichier effacé avec rm est effacé de façon irréversible : il n'y a alors plus aucun moyen de récupérer ce fichier ! N'hésitez donc pas à utiliser l'option -i... |
La syntaxe de la commande mv est la suivante :
mv [options] <fichier|rép.> [fichier|rép...] <destination> |
-f Force le déplacement de fichiers (aucun avertissement en cas d'écrasement d'un fichier au cours de l'opération).
-i Le contraire : demande confirmation à l'utilisateur avant d'écraser un fichier existant.
-v Mode verbeux ; rapporte tous les changements.
mv -i /tmp/pics/*.gif . Déplace tous les fichiers du répertoire /tmp/pics/ dont le nom se termine par .gif vers le répertoire courant (.), en demandant confirmation avant d'écraser un fichier existant.
mv toto titi Renomme le fichier toto en titi.
mv -vf fichier* images/ trash/ Déplace, sans demander 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/ ; et rapporte tous les changements effectués.
cp est un remplacement pour les commandes copy, xcopy de DOS et plus. 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 confirmation avant d'écraser des fichiers qui pourraient l'être.
-f Le contraire de -i : remplace d'éventuels fichiers existants sans demander confirmation.
-v Mode verbeux : rapporte 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 confirmation avant l'écrasement éventuel d'un fichier.
cp -vR docs/ /shared/mp3s/* mystuff/ Copie tout le répertoire docs du répertoire courant plus tous les fichiers du répertoire /shared/mp3s dans le répertoire mystuff 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'i-nœud (mtime); et enfin la date de la dernière modification du contenu du fichier (ctime). |
[2] | Il est suffisant pour un utilisateur d'avoir le droit d'écriture sur un répertoire pour pouvoir en effacer des fichiers, même s'il n'est pas le propriétaire de ces fichiers. |
Page précédente | Début | Page suivante |
Petite introduction à la ligne de commande | Manipulation des attributs de fichiers |