1.103.3 Réaliser la gestion de base des fichiers
Poids : 3
Thème : Commandes GNU et Unix
Description
Le candidat devrait être capable d'utiliser des commandes de base de Linux pour gérer les fichiers et dossiers.
Savoir clé
Copier, déplacer et supprimer des fichiers et des dossiers individuellement
Copier plusieurs fichier et des dossiers récursivement
Supprimer plusieurs fichiers et des dossiers récursivement
Utiliser les caractères wildcard simples et avancés dans les commandes
Utiliser find pour trouver et agir sur des fichiers sur base de leur nom, du type, de leur taille ou des différentes dates
Mots clés
Documentation
Cet objectif est assez simple, il consiste à pouvoir réaliser la gestion de base des fichiers et dossiers sous Linux. Cela comprend la création la copie, le déplacement et la recherche de fichiers ou de dossiers.
Se déplacer dans le système de fichier
Pour commencer, il faut pouvoir se déplacer dans le système de fichier. La commande cd (pour "change directory") permet de se déplacer d'un répertoire à un autre. Pour changer de répertoire, il faut indiquer le chemin où on désire aller.
Les chemins vers des fichiers ou répertoires sont de deux types: absolu et relatif. Un chemin absolu est un chemin donné à partir de la racine du système de fichier, qui est /. Un chemin relatif est définit à partir du dossier courant.
Voici par exemple l'utilisation de cd pour aller dans le bureau de mon compte, à l'aide d'un chemin absolu:
$ cd /home/ikipou/Desktop
Voici la même commande mais en utilisant un chemin relatif. Le dossier courant est mon dossier personnel, c'est à dire /home/ikipou. Voyez aussi l'utilisation de la commande pwd pour afficher l'emplacement courant:
$ pwd /home/ikipou $ cd Desktop
Il existe un dossier particulier présent dans chaque dossier, c'est le dossier "..". Ce dossier permet d'accéder au dossier de niveau supérieur au dossier courant.
Voyons l'utilisation du dossier ".." en mettant en évidence le chemin courant grâce à pwd:
$ pwd /home/ikipou/Desktop $ cd .. $ pwd /home/ikipou $ cd ../.. $ pwd /
La hiérarchie du système de fichier de Linux est parfaitement standardisé, mais sont étude fait partie d'un autre objectif.
Trouver des fichiers
La commande fondamentale à connaitre est ls qui permet de lister les fichiers et dossiers présent à l'intérieur du dossier courant.
Voici par exemple comment lister les fichiers du dossier courant:
$ ls 2D_dynamics.xmi LAT autosave.xmi lingua_words1711.sql
La commande ls permet de lister le contenu d'un dossier, mais il est souvent nécessaire de trouver un fichier dont l'emplacement est inconnu. Une commande utile dans ce cas est find qui permet de rechercher des fichiers.
La commande find permet de chercher des fichiers ou dossier en fonction de certaines leurs propriétés. Un exemple courant et de devoir retrouver un fichier par son nom, ce qui se fait avec l'option -name.
Voici par exemple la recherche du fichier xorg.conf dans le dossier /etc:
$ find /etc -name 'xorg.conf' /etc/X11/xorg.conf
Créer des fichiers et dossier
La commande mkdir permet de créer des dossiers. Pour créer un dossier, il suffit de donner le nom de celui-ci. Voici par exemple comment créer un dossier nommé "Ubuntu".
$ mkdir Ubuntu
Une option rencontré régulièrement est l'option -p qui permet de créer les dossiers parents du dossier spécifiés dans le cas où ils n'existeraient pas. Voici un exemple pour créer un dossier nommé "Fedora" dans un dossier "RedHat" qui n'existe pas encore:
$ mkdir RedHat/Fedora mkdir: cannot create directory `RedHat/Fedora': No such file or directory $ mkdir -p RedHat/Fedora
Pour créer un fichier, on peut utiliser la commande touch. Cet commande permet de créer un fichier vide avec le nom qui est fournit. Si un fichier existe déjà pour le nom donné, la date de modification est mise à jour à la date courante mais le fichier n'est pas effacé.
Voici un exemple d'utilisation de touch pour créer un fichier nommé Suse.cpp:
$ touch Suse.cpp
Copier, déplacer et renommer des fichiers
La commande cp permet de copier des fichiers et dossiers. Pour l'utiliser, il faut spécifier le chemin de la source et de la destination.
Voici par exemple comment copier le fichier Mandrake, en un fichier nommé Mandriva:
$ cp Mandrake Mandriva
Pour copier un dossier et son contenu, il faut ajouter l'option -R qui permet de copier récursivement le contenu d'un dossier.
Voici par exemple la copie du dossier BSD avec son contenu:
cp -R BSD Unix.BSD
Pour déplacer un fichier ou un dossier, il faut utiliser la commande mv. Voici par exemple commment déplacer le fichier JBoss dans le dossier RedHat:
$ mv jBoss RedHat/
La commande mv permet aussi de renommer les fichiers ou dossier. Il suffit en effet de donner le nouveau nom comme chemin de destination. Voici par exemple comment renommer le fichier Debian en Debian.etch:
$ mv Debian Debian.etch
Supprimer fichiers et dossiers
Finalement, il faut pouvoir supprimer les fichiers et dossiers.
La commande rmdir permet de supprimer un dossier lorsqu'il est vide. Voici par exemple la suppression du dossier Gentoo et l'erreur obtenue lorsque l'on veut supprimer le dossier RedHat qui n'est pas vide:
$ rmdir Gentoo $ rmdir RedHat rmdir: RedHat: Directory not empty
La commande rm permet quand à elle de supprimer des fichiers. Voici par exemple son utilisation pour supprimer le fichier Suse.cpp:
$ rm Suse.cpp
La commande rm peut aussi être utilisée pour supprimer des dossiers non vide. Pour se faire, on utilise l'option -R qui supprime récursivement le contenu d'un dossier. Voici par exemple l'utilisation de rm -R pour la suppression du dossier RedHat:
$ rm -Rf RedHat
Cette page de documentation est distribuée sous licence
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre