14.4. Gestion de fichiers depuis l'invite du shell

Les fichiers peuvent être manipulés au moyen de gestionnaires graphiques tels que Nautilus ou Konqueror. Leur manipulation peut également se faire depuis l'invite du shell, et bien souvent de façon plus rapide. Cette section vous explique comment procéder pour effectuer une telle opération.

14.4.1. Création de fichiers

Vous pouvez créer de nouveaux fichiers à l'aide d'applications (éditeurs de texte, par exemple) ou à l'aide de la commande touch, qui va créer un fichier vide que vous pourrez utiliser pour y ajouter du texte ou des données. Pour créer un fichier avec touch, tapez ce qui suit à l'invite du shell.

touch <nom-de-fichier>

Remplacez <nom-de-fichier> par le nom de votre choix. Si vous exécutez un répertoire, indiquez que le fichier contient zéro (0) octet d'informations, car il s'agit d'un fichier vide. Par exemple, si vous tapez la commande ls -l newfile à l'invite du shell, vous recevrez la sortie suivante:

-rw-rw-r--    1 sam      sam             0 Apr 10 17:09 
newfile

14.4.2. Copie de fichiers

Comme pour de nombreuses fonctionnalités Linux, différentes options s'offrent à vous pour manipuler fichiers et répertoires. Lorsque vous copiez, déplacez ou effacez plusieurs fichiers et répertoires, vous pouvez également, afin d'accélérer le processus, utiliser des caractères génériques, comme l'explique la Section 13.11.5.

Pour copier un fichier, tapez la commande suivante:

cp <source> 
<destination>

Remplacez <source> par le nom du fichier que vous voulez copier et <destination> par le nom du répertoire dans lequel vous voulez le copier.

Ainsi, pour copier le fichier sneakers.txt dans le répertoire tigger/ de votre répertoire personnel, allez dans votre répertoire personnel et tapez:

cp sneakers.txt tigger/

Avec cp, il est possible d'utiliser les chemins d'accès relatifs ou absolus. Notre répertoire personnel est le parent du répertoire tigger; tigger est l'un des répertoires situés directement sous notre répertoire principal.

TuyauAstuce
 

Pour en savoir plus sur les noms de chemin absolus et relatifs reportez-vous à la Section 13.4.

Lisez la page du manuel relative à cp (en tapant man cp à l'invite du shell) pour obtenir une liste exhaustive des options disponibles avec cp. Ci-dessous figurent certaines des options que vous pouvez utiliser avec cp:

Maintenant que le fichier sneakers.txt se trouve dans le répertoire tigger, utilisez cp -i pour le copier de nouveau dans le même emplacement.

cp -i sneakers.txt tigger
cp: overwrite 'tigger/sneakers.txt'?

Pour écraser le fichier existant, appuyez sur [Y], puis sur [Entrée]. Si vous ne souhaitez pas écraser le fichier, appuyez sur [N] et [Entrée].

14.4.3. Déplacement de fichiers

Pour déplacer des fichiers, utilisez la commande mv. Si vous souhaitez davantage d'informations sur mv, reportez-vous à la page du manuel relative à mv (en tapant man mv).

Ci-après figurent certaines options courantes de mv:

Si vous souhaitez déplacer un fichier hors de votre répertoire personnel vers un autre répertoire, tapez la commande suivante (vous devrez vous trouver dans votre répertoire personnel):

mv sneakers.txt tigger

La même commande, mais avec des noms de chemin absolus, ressemble à ceci:

mv sneakers.txt /home/newuser/sneakers.txt 
/home/newuser/tigger

14.4.4. Suppression de fichiers et répertoires

Vous avez appris à créer des fichiers à l'aide de la commande touch et vous avez créé le répertoire tigger à l'aide de mkdir.

Il vous faut maintenant apprendre à supprimer des fichiers et répertoires. Pour ce faire, utilisez la commande rm qui est d'une utilisation simple. Consultez la page du manuel relative à rm pour obtenir davantage d'informations. Les options permettant de supprimer les fichiers et répertoires comprennent entre autres:

Pour supprimer le fichier piglet.txt à l'aide de la commande rm, tapez :

rm piglet.txt

AvertissementAttention
 

La suppression de fichiers ou de répertoires à l'aide de la commande rm est un processus définitif; les fichiers ou répertoires supprimés seront perdus à jamais.

L'option -i (interactive) vous donne une seconde chance de décider si vous voulez véritablement supprimer le fichier.

rm -i piglet.txt
rm: remove 'piglet.txt'?

Vous pouvez également supprimer des fichiers en utilisant le caractère générique *, mais faites bien attention, car vous pourriez également, sans le vouloir, en effacer d'autres.

Pour effacer un fichier en utilisant un caractère générique, tapez:

rm pig*

La commande ci-dessus effacera tous les fichiers du répertoire commençant par les lettres pig.

Vous pouvez également effacer plusieurs fichiers à l'aide de la commande rm. Par exemple:

rm piglet.txt sneakers.txt

Vous pouvez utiliser rmdir pour effacer un répertoire (rmdir foo, par exemple), mais uniquement si celui-ci est vide. Pour effacer des répertoires à l'aide de rm, vous devez spécifier l'option -r.

Par exemple, si vous souhaitez effacer de façon récursive le répertoire tigger, tapez:

rm -r tigger

Si vous voulez combiner des options, comme par exemple forcer une suppression récursive, vous pouvez taper:

rm -rf tigger

La commande rmdir est un moyen plus sûr d'utiliser rm pour effacer des répertoires. Elle ne vous donnera pas la possibilité d'utiliser les suppressions récursives. Ainsi, un répertoire contenant des fichiers ne sera pas effacé.

AvertissementAttention
 

La commande rm peut effacer tout votre système de fichiers! Si vous êtes connecté en tant que root et que vous tapez la commanderm -rf /, vous risquez d'aller au devant de problèmes; cette commande effacera de façon récursive tout ce qui se trouve dans votre système.

Consultez la page du manuel relative à rmdir (en tapant man rmdir) afin d'obtenir davantage d'informations sur cette commande.