Linux : Gestion des fichiers Principes de Bases
L'arborescence unique Sous Linux, pas d'unités logiques (C:, D:, ) comme sous Windows Une seule et unique arborescence La racine de l'arborescence est désignée par le symbole / Tous les volumes de données sont "montés" sur cette arborescence
Déplacement dans l'arborescence Répertoire Courant Le répertoire courant désigne le dossier dans lequel l'utilisateur est positionné au moment ou il saisit une commande. Comment connaître le répertoire courant? En observant l'invite de commande. Exemples : root@debian:/etc# Utilisateur root, Machine debian, Répertoire courant /etc Le # indique que nous sommes connectés en super-administrateur. mmi@debian:/datas$ Utilisateur mmi, Machine debian, Répertoire courant /data Le $ indique que nous sommes connectés en simple utilisateur. mmi@debian:~$ Utilisateur mmi, Machine debian, Répertoire courant /home/mmi Le symbole ~ désigne le répertoire personnel de l'utilisateur connecté (ici mmi) root@debian:~# Utilisateur root, Machine debian, Répertoire courant /root Le symbole ~ désigne le répertoire personnel de l'utilisateur connecté (ici root). REMARQUE : /root ne désigne pas la racine, mais bien le répertoire personnel de l'utilisateur root En utilisant la commande pwd Cette commande (sans aucun argument) renvoi le chemin du répertoire courant en absolu
Déplacement dans l'arborescence Relatif ou Absolu Le déplacement dans l'arborescence (ou changement de répertoire) se fait à l'aide de la commande cd. Deux modes de déplacements : En absolu (Par rapport à la racine). Exemples : cd /etc positionnera l'utilisateur dans le dossier etc de la racine / cd /var/log positionnera l'utilisateur dans le sous-dossier log du répertoire var de la racine / cd / positionnera l'utilisateur à la racine de l'arborescence En Relatif (Par rapport au répertoire courant). Exemples : cd.. Se déplace dans le répertoire directement supérieur au répertoire courant cd../.. Se déplace de deux niveaux supérieurs au répertoire courant cd test Se déplacerait dans le sous-dossier test du répertoire courant cd../test Se déplacerait dans un dossier test situé au même niveau que le répertoire courant Astuce : cd (sans argument) positionne l'utilisateur dans son dossier personnel. /root si l'utilisateur est root, /home/mmi si l'utilisateur est mmi
Manipulations des Dossiers Commandes Commande Fonction Syntaxe Exemple cd Changer de répertoire courant cd [CHEMIN/]DOSSIER cd /etc Se déplace dans le dossier /etc mkdir Créer un répertoire mkdir [CHEMIN/]DOSSIER mkdir /mmi Créer un dossier mmi dans la racine rmdir Supprime un répertoire vide rmdir [CHEMIN/]DOSSIER rmdir /mmi Supprime lr dossier /mmi si celui-ci est vide rm Rf Supprime un répertoire et tout son contenu rm Rf [CHEMIN/]DOSSIER mv Déplace ou renomme un répertoire mv SOURCE DESTINATION si le chemin de la source est le même que celui de destination, le dossier sera simplement renommé rm Rf /mmi Supprime le dossier /mmi et tout son contenu mv /mmi /mmi2 renomme le dossier /mmi en /mmi2 mv /mmi /data déplace le dossier /mmi dans le dossier /data. Si le dossier /data n'existe pas, renomme le dossier /mmi en /data. cp -R Copier un répertoire et son contenu cp R SOURCE DESTINATION cp /mmi /mmi2 Fait une copie de /mmi en /mmi2 avec tout son contenu (fichiers et sous-dossiers) ATTENTION si le dossier /mmi2 existe déjà, le répertoire mmi sera créé DANS /mmi2 ls Liste le contenu d'un répertoire ls [CHEMIN/]DOSSIER ls /mmi Liste le contenu du dossier /mmi
Manipulations des fichiers Commandes Commande Fonction Syntaxe Exemple touch Créer un fichier vide touch [CHEMIN/]FICHIER touch /mmi/test Créer un fichier nommé test dans le dossier /mmi nano Editer un fichier texte nano [CHEMIN/]FICHIER nano /mmi/test Edite le fichier test du dossier /mmi Si le fichier n'existe pas il sera créé. less Visualise le contenu d'un fichier texte Less [CHEMIN/]FICHIER less /mmi/test Affiche le contenu du fichier test (Q pour sortir) rm Supprime un fichier rm [CHEMIN/]FICHIER rm /mmi/test Supprime le fichier test du dossier /mmi rm /mmi/* Supprime TOUS les fichiers du dossier /mmi mv Déplace ou renomme un fichier mv SOURCE DESTINATION si le chemin de la source est le même que celui de destination, le fichier sera simplement renommé mv test test2 renomme le fichier test en test2 mv test /root déplace le fichier test du répertoire courant dans le dossier /root mv test /root/test2 déplace le fichier test du répertoire courant dans le dossier /root et le renomme test2 cp Copier un fichier cp SOURCE DESTINATION cp test test2 Fait une copie de test en test2
Permettent de répondre aux questions : Qui peut accéder à un répertoire? Qui peut lire (lister) le contenu d'un dossier? Qui peut lire les fichiers? Qui peut Créer, Modifier ou Supprimer les fichiers, les dossiers? Qui peut exécuter un programme (un script)?
Principes de base 3 types d'accès : R : Droit en Lecture Permet de lire le contenu d'un fichier W : Droit en Ecriture Permet de Modifier (ou supprimer) un fichier X : Droit en exécution Permet d'exécuter un programme (ou un script) Codage en Numérique : R (Read) = 4 W (Write) = 2 X (Execute) = 1
Principes de base 3 types de personnes (ou population) : Le propriétaire (owner ou UID) Par défaut, l'utilisateur qui a créé le fichier Un groupe (group ou GID) Par défaut, le groupe du propriétaire Le reste du monde (other) Tous les autres utilisateurs du système.
Principes de base Comment voir les droits d'accès : La commande ls avec l'option l : ls -l Exemple : ls l /mmi, liste le contenu du dossier /mmi avec les droits d'accès : -rwxr-x--- mmi users test Le indique qu'il s'agit d'un fichier (d indiquerait un dossier) rwx indique que le propriétaire du fichier (mmi) à tous les droits r-x indique que le groupe users ne peut que lire le fichier (il peut aussi l'exécuter s'il s'agit d'un script ou d'un binaire) --- indique que les autres utilisateurs (autre que mmi et les membres du groupe users) n'ont aucun droits d'accès au fichier.
Principes de base Droit Fichiers Dossiers R Le fichier peut être lu Le contenu du dossier peut être listé (ls) W X Le contenu du fichier peut être modifié. Le fichier peut-être exécuté si c'est un script (ou un binaire) Dans le dossier, on peut Supprimer, créer ou modifier un fichier On peut rentrer dans ce dossier.
Les commandes Comment changer les droits d'accès : 2 actions à réaliser = 2 commandes à connaître Changer les noms du propriétaire, du groupe : chown Changer les valeurs des permissions : chmod
chmod Changer la valeur des permissions. Utiliser les valeurs numériques en fonction du besoin : R=4, W=2,X=1 ce qui permet de réaliser les combinaisons suivantes : RWX (Tous les droits) = 4+2+1 = 7 R-X (Lecture, Exécution) = 4+0+1 = 5 R (Lecture Seule) = 4+0+0 = 4 --- (Aucun Droit) = 0+0+0 = 0 Les permissions sont à attribuer à 3 types de population, donc 3 valeurs à donner. Syntaxe : chmod ABC FICHIER, ou A indique les permissions du propriétaire B indique les permissions du groupe C indique les permissions des autres Exemple : chmod 754 test Donne tous les droits (7) au propriétaire du fichier; Donne Lecture et Exécution (5) au Groupe Donne Lecture Seule aux autres utilisateurs Option R, l'option R (Récursive) permet de donner les droits à un dossier et à l'ensemble de son contenu Exemple : chmod R 750 /mmi donne les permissions indiquées au dossier mmi, mais aussi à tout son contenu.
chown Changer de propriétaire et/ou de groupe Syntaxe : chown user.group FICHIER ou user est le nom du propriétaire group est le nom du groupe. Exemples : chown mmi.users test désigne l'utilisateur mmi comme propriétaire du fichier test désigne comme groupe, le groupe users Les permissions attribuées à chacun seront celles données avec chmod. chown mmi test, ne change que le nom du propriétaire chown.users test, ne change que le nom du groupe chown R mmi.users demo change les valeurs pour le demo et tout son contenu.