1. Manipulation de fichiers

Toutes vos données, que ce soient des documents bureautiques, des chansons, des films, etc., sont contenues dans des fichiers. Nous présentons quelques commandes pour organiser et gérer ces fichiers.

1.1. Lister le contenu d'un répertoire

ls (LiSt) est équivalent à la commande DOS dir. Sa syntaxe est la suivante :

ls [options] <répertoire> [répertoire ...]

Voici ses options les plus communes :

  • -R : liste récursivement le contenu d'un répertoire et de ses sous-répertoires. Notez que le nom du répertoire s'affiche avant son contenu.

  • -l : utilise un format d'affichage long. Des détails concernant le fichier tels que  : le type de fichier, ses permissions, son propriétaire et sa taille sont affichés.

  • -a : affiche aussi les fichiers cachés. Dans les systèmes sous UNIX®, tous les fichiers dont le nom commence par un point (.) sont cachés. Utilisez cette option pour afficher de tels fichiers quand vous listez le contenu d'un répertoire. Si vous ne voulez pas que le répertoire courant et son parent (respectivement, . et ..) soient affichés préférez l'option -A.

Quelques exemples :

  • ls -lA /tmp/movies /tmp/images: liste le contenu des répertoires movies et images à l'intérieur du répertoire /tmp, en affichant les détails de tous les fichiers et des fichiers cachés, mais n'affichant pas les entrées . et .. de chaque répertoire;

  • ls -R ~/ : affiche, récursivement, tous les fichiers et répertoires que vous avez dans votre dossier personnel.

1.2. Copy

cp (CoPy) est l'équivalent des commandes DOS copy et xcopy mais possède plus d'options. Sa syntaxe est la suivante  :

cp [options] <fichier|répertoire> [fichier|répertoire ...] <destination>

Voici ses options les plus communes :

  • -R : copie récursivement ; obligatoire pour copier un répertoire, même vide.

  • -f: remplace tous les fichiers existants sans demander de confirmation. A utiliser avec précautions.

  • -a : mode archive, donne à la copie tous les attributs du fichier original. et copie récursivement.

  • -v: mode verbeux, mentionne toutes les actions effectuées par cp.

Quelques exemples :

  • cp -f /tmp/images/* images/ : copie tous les fichiers du répertoire /tmp/images dans le répertoire images du répertoire courant. Aucune confirmation n'est demandé avant d'écraser un fichier.

  • cp -vR docs/ /shared/mp3s/* mestrucs/: copie tout le répertoire docs, en plus de tous les fichiers du répertoire /shared/mp3s dans le répertoire mestrucs, en affichant toutes les actions effectuées.

  • cp foo bar: copie le fichier foo sous le nom de bar dans le répertoire courant.

1.3. Move

mv (MoVe) est l'équivalent de la commande DOS move. Sa syntaxe est la suivante :

mv [options] <fichier|répertoire> [fichier|répertoire ...] <destination>

Notez que lorsque vous déplacez plusieurs fichiers à la fois, la destination doit être un répertoire. Pour renommer un fichier, il suffit de le déplacer vers le nouveau nom.

Voici ses options les plus communes :

  • -f : force le déplacement. Aucun avertissement en cas d'écrasement d'un fichier au cours de l'opération. A utiliser avec précautions.

  • -v : mode verbeux, rapporte tous les changements et activités.

Quelques exemples :

  • mv /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.

  • mv foo bar : renomme le fichier foo en bar. Si un répertoire bar existait déjà, l'effet de cette commande serait de bouger le fichier foo (ou le répertoire lui-même avec tous ses fichiers et sous-répertoires, récursivement) dans le répertoire bar.

  • mv -vf file* images/ trash/ : déplace, sans demander de confirmation, tous les fichiers dans le répertoire courant dont le nom commence par file, ainsi que tout le répertoire images vers le répertoire trash. Tous les changements effectués sont mentionnés.

1.4. Remove

La commande rm command (ReMove) est l'équivalent des commandes DOS del et deltree, mais contient des options supplémentaires. Sa syntaxe est la suivante :

rm [options] <fichier|répertoire> [fichier|répertoire...]

Voici ses options les plus communes :

  • -r, ou -R : supprime récursivement. Cette option est obligatoire pour supprimer un répertoire, vide ou non. Toutefois, pour effacer des répertoires vides, vous pouvez également utiliser la commande rmdir.

  • -f : force la suppression des fichiers ou répertoires. A utiliser avec précautions.

Quelques exemples:

  • rm images/*.jpg fichier1 : suppression de tous les fichiers dont le nom se termine par .jpg dans le répertoire images, ainsi que le fichier1 dans le répertoire courant.

  • 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 seront effacés.

[Avertissement] Avertissement

Les fichiers effacés avec rm le sont de façon irréversible. Il est alors très difficile de les restaurer! Soyez très prudent quand vous utilisez l'option -f pour sauter la demande de confirmation afin de vous assurer de ne rien effacer par erreur.

1.5. Créer un répertoire

mkdir (MaKe DIRectory) est l'équivalent des commandes DOS mkdir et md. Sa syntaxe est la suivante :

mkdir [options] <répertoire> [répertoire ...]

En fait, une seule option est vraiment intéressante : l'option -p. Elle implique deux comportements :

  1. mkdir créera les répertoires parents s'il n'existaient pas avant. Sans cette option, mkdir échouerait, et signalerait que les répertoires parents n'existent pas ;

  2. 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, signalant cette fois-ci que le répertoire à créer existe déjà.

Voici quelques exemples :

  • mkdir foo : crée un répertoire du nom de foo dans le répertoire courant ;

  • mkdir -p images/divers : crée un répertoire divers dans le répertoire images après avoir créé ce dernier s'il n'existait pas.

1.6. Changer de répertoire de travail.

Le répertoire de travail courant, symbolisé par un point (.), est l'endroit où « vous êtes » dans le système de fichiers. Les deux points (..) symbolisent le répertoire parent du répertoire courant, qui se trouve « un niveau au-dessus » (ou en arrière) dans la structure du système de fichiers.

cd (Change Directory) vous permet de naviguer dans la structure du système de fichiers. Sa syntaxe est la suivante :

cd <répertoire>

Quelques exemples :

  • cd /tmp/images : change le répertoire de travail courant pour le répertoire images à l'intérieur du répertoire /tmp ;

  • cd - : revient au répertoire de travail précédent ;

  • cd : va dans votre dossier personnel ;

  • cd ~/images : va au répertoire images dans votre dossier personnel.