La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Atelier Systèmes 1 Les commandes de Base Linux

Présentations similaires


Présentation au sujet: "Atelier Systèmes 1 Les commandes de Base Linux"— Transcription de la présentation:

1 Atelier Systèmes 1 Les commandes de Base Linux
Mr. Mohamed Salah MEDDEB

2 Plan Travailler en ligne de commande
L'éditeur historique du système UNIX Gestion des fichiers Contrôler des flux de texte à l'aide des filtres Utilisation des flux, des tubes (pipes) et des redirections Recherche sur des fichiers texte avec des expressions régulières Création, surveillance et destruction de processus Modifier la priorité d'exécution d'un processus Commandes d’administration

3 Travailler en ligne de commande

4 Le système de gestion de fichiers
Les aspects essentiels à bien connaître afin d’appréhender sereinement un système Linux : « tout est fichier » : les fichiers, les répertoires, les liens, les disques et autres périphériques, chaque fichier est dans une arborescence unique, dont la base / est appelée racine ou slash. / la racine /dev fichiers spéciaux parmi lesquels ceux qui permettent d’accéder aux périphériques /etc ensemble des fichiers de configuration du système /lib bibliothèques communes utilisées par les logiciels exécutables /root le répertoire de l’utilisateur privilégié (root). /home les répertoires personnels, maisons, des utilisateurs non privilégiés. (….)

5 Le système de gestion de fichiers

6 Interpréteur de commandes
L’interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell». Le shell est ainsi chargé de faire l'intermédiaire entre le système d'exploitation et l'utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de commande, interpréter sa signification, exécuter la commande, puis retourner le résultat sur les sorties. Sur la plupart des systèmes, le shell mis à disposition des utilisateurs est bash. Prompts : Bureau]$ echo $PS1 \W]\$ Bureau]# echo $PS1 \W]\$

7 Raccourcis de l’interpréteur de commandes
C fait référence à la touche <contrôle> et M à la touche <Alt> Commandes de déplacement — ← et → : déplacement d’un caractère vers la gauche et la droite C-← et C-→ : déplacement d’un mot vers la gauche et la droite C-a : début de la ligne C-e : fin de la ligne Commandes « couper » — C-k : couper du curseur à la fin de la ligne C-u : couper du curseur au début de la ligne C-w : couper du curseur à l’espace précédent Commandes « coller » — C-y : coller le contenu du presse-papier M-y : circuler dans le contenu du presse-papier (ne peut être utilisé qu’après C-y ou M-y) Autres commandes d’édition — C-_ : annuler la dernière édition Tab : complète le nom de la commande ou du fichier

8 Notions générales Avant de commencer, il faut savoir que Linux est sensible à la casse (case sensitive en anglais), c'est à dire qu'il distingue les majuscules des minuscules.  Toutes les commandes de base sont en minuscules. Sous Linux, les chemins sont séparés par des "slash" : /etc//init/xfs mais jamais des "antislash" etc\init\xfs. Sous Linux, les fichiers cachés commencent par un point. Par exemple, ~/.bashrc est un fichier caché, dans le répertoire personnel de l'utilisateur, qui contient la configuration de son shell.

9 Chemin et répertoires spéciaux
Un chemin est une adresse d'une ressource. (La ressource étant un document, une image, une musique, etc.), deux sortes de chemin : le chemin absolu (slash en préfixe du chemin): le chemin complet du ficher à partir de la racine / le chemin relatif (absence de slash initial) par apport au dossier courant ou répertoire personnel. Répertoires spéciaux : « . » : représente le répertoire courant « .. » : représente le répertoire parent « ~ » : représente le répertoire maison (home) de l'utilisateur Exemples : cat /home/user/Bureau/fichier.txt  Chemin complet cat fichier.txt  chemin relatif du répertoire courant (Bureau) cat ~/Bureau/fichier.txt  chemin relatif du répertoire personnel de l’utilisateur user

10 Utiliser les wildcards
Besoin de manipuler plusieurs fichiers à la fois, Par exemple : cas d'un développement en C et pour être sure de recompiler tous les fichiers sources. Wildcards Descriptions Exemples * désigne 0 ou plusieurs caractères x* ? Désigne exactement un seul caractère x? x?? [caractères] Désigne un seul caractère de la liste [caractères] x[yz] [!caractères] Désigne un seul caractère en dehors de la liste [caractères] x[!yz] [a-z] Désigne un seul caractère appartenant à l'intervalle de caractères défini entre [ ] x[0-9] x[a-zA-Z] [!a-z] Désigne un seul caractère n'appartenant pas à l'intervalle de caractères défini entre [ ] {frag1,frag2,..} brase expansion file_{one,two, three}

11 Les droits des fichiers
On peut distinguer 3 groupements dans rwx r-x r-x : les droits d’accès du propriétaire, les droits d’accès des membres du groupe du fichier, les droits des autres comptes du système. Signification : r le fichier est accessible en lecture, w le fichier est accessible en écriture, x le fichier est exécutable. Calcul des droits : en binaire en décimal - - - 000 - - x 001 1 - w - 010 2 - w x 011 3 r - - 100 4 r - x 101 5 r w - 110 6 r w x 111 7

12 Séquences de commandes
Exécuter séquentiellement des commandes l'une après l'autre : – cmd1 ; cmd2 Exécuter cmd2 si et seulement si cmd1 s'est exécutée sans erreur – cmd1 && cmd2 Exécuter cmd2 si et seulement si cmd1 a renvoyé une erreur : – cmd1 || cmd2 & en fin de commande permet de lancer cette commande en tâche de fond (background) – firefox &

13 Variables Variables d'environnement : connues de toutes les commandes lancées depuis le shell. Bureau]$ PS1="[\t][\u]\$" [05:37:53][user1]$ variable simple : formation="lpi" echo $formation lpi Rendre la variable visible pour les shells fils : export formation Afficher toutes les variables d'environnements : env Afficher les variables simples et les variables d'environnement :set Effacer une variable : unset formation

14 Quelques variables d'environnement bash
Fonction USER le nom de l'utilisateur courant UID UID de l'utilisateur courant HOME Le répertoire de connexion de l'utilisateur courant ? Le code d'erreur de la dernière commande # Le nombre de paramètres à l'appel du script 1,2.... les paramètres du script le nom du script PS1 Personnaliser le prompt

15 Quotes et variables Quote double : Permet la substitution des variables $ echo "mon repertoire est $HOME" mon repertoire de connexion est /home/user Quote simple : Désactive l'interprétation des caractères spéciaux $ echo 'mon repertoire de connexion est $HOME' mon repertoire est $HOME Quotes inversées : Permet la substitution des commandes $ echo "mon repertoire courant est `pwd`" mon repertoire courant est /tmp

16 Raccourcies claviers history HISTSIZE HISTFILE

17 Les commandes d’aide apropos Permet de rechercher des pages de manuel par mot-clé. Exemple : apropos permissions, whatis Affiche la description des pages de manuels. Exemple : whatis chown, man Permet de consulter une page de manuel. Exemple : man chmod.

18 L'éditeur historique du système UNIX

19 L'éditeur historique du système UNIX
x : supprimer caractère dd : supprimer la ligne u : undo ctrl-R : redo / : recherche n : résultat suivant Mode Commande Mode Edition Mode Exécution i,a esc ● w :enregistrer ● wq : enregistrer et quitter

20 Gestion des fichiers

21 Gestion des fichiers Gestion des fichiers pwd cd ls mkdir rmdir touch
cp mv rm

22 pwd La commande pwd affiche le nom absolu du répertoire courant, En effet, elle permet de répondre à la question « Où suis-je ? ».

23 ls La commande ls liste le contenu de répertoires.
Syntaxe: ls [­options] [ré pertoire1] [répertoire2] Cette commande accepte un très grand nombre d'options pouvant être combinées. ls : liste les entrées du répertoire courant. ls -­R : liste récursivement tous les répertoires. ls -­a : liste toutes les entrées y compris les entrées cachées. ls -­l : liste les entrées et affiche toutes les informations. ls -­F : liste les entrées et ajoute / derrière les noms de répertoires. ls ­­--color : liste les entrées avec une couleur différente suivant le type (fichier exécutable, texte, répertoire, liens...).

24 cd La commande cd permet le positionnement sur un répertoire
cd / : positionnement à la racine cd : positionnement sur le répertoire parent cd /usr/X11R6/bin : positionnement depuis la racine sur le répertoire /usr/X11R6/bin. cd ../lib : positionnement à partir du répertoire parent sur le répertoire /lib. cd cd~ ou cd $HOME : positionnement depuis n'importe où sur le répertoire personnel. cd - : positionnement sur le répertoire précédent.

25 mkdir / rmdir La commande mkdir permet la création de répertoires.
mkdir perso créé le répertoire perso dans le répertoire courant. mkdir ../perso créé le répertoire perso dans le répertoire parent. mkdir -p /root/Bureau/a/b/c : créé le répertoire c et réer les répertoires parents s’ils manquent. La commande rmdir permet de supprimer des répertoires vides

26 cp La commande cp sert à copier des fichiers.
-f Effacer les fichiers cibles existants. -i Interroger l’utilisateur avant d’écraser des fichiers existant. -p Conserver le propriétaire, le groupe, les permissions d’accès du fichier original -R Copier récursivement les répertoires, et gérer correctement les copies des fichiers spéciaux ou des FIFOs. -r Copier récursivement les répertoires mais la gestion des fichiers spéciaux n’est pas définit Exemples : ~]# cp /etc/passwd ./ ~]# cp /etc/passwd /root/Desktop/passwd2 ~]# cp *txt /root/Desktop/fichiersTexte/ ~]# cp –r /et c backUpConfig

27 mv La commande mv sert soit à déplacer un fichier soit à le renommer.
-f Écraser les fichiers de destination existants sans demander confirmation à l’utilisateur. -i Demander la confirmation pour écraser tout fichier existant Exemples : ~]# mv helloWorld.c CodesSources/ ~]# mv -f *.c CodesSourcesC/

28 rm rm permet de supprimer fichiers et répertoires.
Parmi les options de cette commande, deux sont intéressantes: ‘r’ permet la Suppression d'un répertoire même non vide et ‘i’ demande confirmation avant suppression. Cette commande est très dangereuse, c'est pourquoi en général un alias est créé, forçant la demande de confirmation. Vérifiez qu'il est créé sur votre système en tapant alias, Vous devriez voir apparaître alias rm='rm -i'. si cet alias n'existe pas, un bon conseil créez-le. (voir la commande alias). L’option -f permet de forcer la suppression Exemples: Bureau]# rm splitout_* rm : supprimer fichier « splitout_aa » ? Bureau]# rm –r fich* rm: détruire `mes-docs/doc2'? y rm: détruire `mes-docs/doc1'? Y Bureau]# rm -rf mes_fichiers/

29 Inodes Associer à chaque objet du système de fichier un inode (The identification information for filesystem object) Un inode regroupe des informations sur l'objet du système de fichiers : localisation, date de modification, paramètres de sécurité.... Chaque système de fichier ext2 est crée avec un nombre fini d'inodes calculé selon la taille du système de fichier et d'autres options passées à la commande mke2fs. plusieurs objets du système de fichiers peuvent partager le même inode : lien physique.

30 Contrôler des flux de texte à l'aide des filtres

31 Fichier Texte, les filtres
cat, less, more : Afficher le contenu tail / head Afficher l'enête / enqueue Sort : Trier les lignes wc : Afficher le nombre d'octets, de mots et de lignes nl : Numéroter les lignes grep : filtrer un fichier cut : Extraire des champs

32 cat et tac Affiche le contenu d'un fichier. Exemple fichier1 1 un
2 deux 3 trois $ cat fichier1 $ tac fichier1

33 head et tail head : Afficher le début d'un fichier (par défaut les 10 premiers lignes) Exemple $ head -3 /var/log/messages tail : Afficher la dernière partie d'un fichier (par défaut les 10 derniers lignes) Exemples : $ tail -20 /etc/passwd $ tail -f /var/log/messages

34 sort Trier les lignes d'un fichier texte options
-d : Trier dans l'ordre alphabétique -n : Trier dans l'ordre numérique -r : Inverser l'ordre Exemples : $ sort /etc/passwd  trier selon le champs RSS (resident size) $ ps aux | sort -k 6 -n

35 wc Afficher le nombre d'octets, de mots et de lignes d'un fichier.
Options -c : Afficher uniquement le nombre d'octets -m : Afficher uniquement le nombre de caractères -l : Afficher uniquement le nombre de lignes -w : Affiche uniquement le nombre de mots Exemples : $ wc -l fich $ wc -w fich $wc fich

36 nl Numéroter les lignes d'un fichier. Exemples : $ nl /etc/passwd $ nl fichier1 -s')'

37 grep Afficher uniquement les lignes d’un fichier qui contiennent une expression particulière et l’afficher selon l’ordre d’apparition dans le fichier. –v afficher toutes les lignes qui ne contiennent pas le motif. –n afficher le numéro de ligne dans le fichier auquel on a trouvé le motif –c permet d’afficher uniquement le nombre total de lignes correspondant au motif –l permet d’afficher juste les noms des fichiers dans lesquels un motif apparaît, sans afficher les occurrences trouvées. –m NUM permet de s’arrêter après NUM solutions trouvées

38 cut Cette commande extrait des colonnes (option -c) ou des champs (option -f ) des lignes d’un fichier ou de l’entrée standard. Dans le cas de l’option -f, il est possible de lui spécifier le délimiteur à chercher en utilisant l’option - d. Le délimiteur par défaut est la tabulation. Format de la liste : n le nième. n,m le nième et mième. n-m du nième au mième. n du nième à la fin -n du 1er au nième

39 Fichier Texte, les filtres (2)
paste: Regrouper les lignes join: Jointure des lignes split : Découper un fichier expand: Convertir les tabulations en espaces tr: Convertir des caractères

40 paste Regrouper les lignes de différents fichiers. Exemple : –file1 1
2 3 – file2 A B  C $ paste file1 file2 1 A 2 B 3 C $ paste file1 file2 $ paste -s file1 file2 1 2 3 A B C

41 join Fusionner les lignes de deux fichiers ayant un champ commun. Exemple : – file1 : 1 one 2 two 3 three – file2 : 1 11 2 22 3 33 $ join -j 1 file1 file2 1 one 11 2 two 22 3 three 33

42 split Découper un fichier en différentes partie. Exemple1 : – file1 :
1 one 2 two 3 three 4 four 5 five 6 six $ split -2 file1 splitout_  créer trois fichiers splitout_aa, splitout_ab, et splitout_ac Exemple 2 : Découper un fichier en plusieurs de taille maximale d'une disquette : $ split -b 1.4m grosfichier petitfichier_

43 expand Convertir les tabulations d'un fichier en espaces.
unexpand fait le processus inverse. Exemple : convertir les tabulations en 2 espaces: $ expand -t 2 monfichier

44 tr Pour effectuer des conversions de caractères (exp minuscule/majuscule, ...) Exemples : $ cat file1 | tr 'a-z' 'A-Z' OU $ cat file1 | tr '[:lower:]' '[:upper:]‘ la suppression des accents d'un texte : $ cat file1 | tr 'àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ' 'aceeeeiioouuACEEEEIIOOUU‘ Convertir les séquences de sauts de lignes en un seul saut de ligne (ceci supprime les lignes blanches) : $ cat file1 | tr -s '\n'

45 Utilisation des flux, des tubes (pipes) et des redirections

46 Les tubes (pipes) Les tubes Unix permettent de combiner des commandes en envoyant le résultat d’une commande à une autre. Linux possède des mécanismes permettant de rediriger les entrées- sorties standards vers des fichiers. Ainsi, l'utilisation du caractère «>» permet de rediriger la sortie standard d'une commande située à gauche vers le fichier situé à droite. La redirection «>» a pour but de créer un nouveau fichier. Ainsi, si un fichier du même nom existait, celui-ci sera écrasé. L'emploi d'un double caractère «>>» permet de concaténer la sortie standard vers le fichier. De manière analogue, le caractère «<» indique une redirection de l'entrée standard. Trois types d'entrées / sorties Entrée standard (stdin) : Descripteur 0 Sortie standard (stdout) : Descripteur 1 Sortie d'erreur standard (stderr) : Descripteur

47 Fonction de redirection
Syntaxe Envoyer stdout vers file $ cmd > file ou $ cmd 1> file Envoyer stderr vers file $ cmd 2> file Envoyer stdout et stderr vers file $ cmd > file 2>&1 Envoyer stdout vers file1 et stderr vers file 2 $ cmd > file1 2>file2 Recevoir stdin à partie de file $cmd < file Ajouter stdout à la fin du file $ cmd >> file ou $ cmd 1>> file Envoyer stderr à la fin du file $ cmd 2>> file Envoyer stdout et stderr à la fin du file $ cmd >> file 2>&1

48 Les tubes (pipe) La sortie d'une commande devient l'entrée d'une autre. Tubes et redirections peuvent être combinées sur une ligne de commande selon les résultats qu'on veut obtenir. Pipe stdout de cmd1 vers cmd2 : $ cmd1 | cmd2 Pipe stdout et stderr de cmd1 vers cmd2. $ cmd1 2>&1 | cmd2 Afficher les 6 premières lignes du fichier /etc/passwd une fois ce fichier trié par ordre alphabétique $ sort /etc/passwd | head -6 La commande tee permet de dupliquer le flux de données en sortie : $ sort /etc/passwd | tee res1 | head -6

49 tee tee permet de lire depuis l'entrée standard et écrire sur la sortie standard tout en écrivant dans des fichiers. Elle est notamment utile dans des tubes pour relayer la sortie à une nouvelle commande tout en la sauvegardant dans un fichier.

50 xargs cmd1 | xargs cmd2 Permet de passer en arguments de la commande cmd2, le résultat de la commande cmd1. Exemples : $ find /tmp -name core -type f -print | xargs /bin/rm -f $ find /etc/ -name *.conf | xargs grep 'Linux'

51 Recherche sur des fichiers texte avec des expressions régulières

52 Expression régulière Recherche (texte) sur le contenu des fichiers, selon un modèle (motif) : « les expressions régulières » regex Une expression régulières (regular expression) est un motif qui permet de décrire un ensemble de chaînes. Outils : grep, egrep, sed, awk, Perl, java ... grep [options] regex [fichiers] options : -c : Afficher le nombre de lignes qui satisfait regex, pas les lignes -h :Ne pas afficher le nom des fichiers dans les résultats lorsque plusieurs fichiers sont parcourus. -i : Ignorer les différences majuscules/minuscules dans la recherche. -n : Ajouter à chaque ligne de sortie un préfixe contenant son numéro dans le fichier -v : Afficher les lignes qui ne satisfait pas regex -E : Interpréter regex comme une expression régulière étendu. egrep

53 Expression régulière : position

54 Expression régulière : groupe de caractères

55 Expression régulière : Les modificateurs

56 Filesystem Hierarchy Standard
Norme de la hiérarchie des systèmes de fichiers . Définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation GNU/Linux. Version 2.3 Principe : Les données sur un système peuvent être classées selon deux catégories : Données partagées versus non partagées. Données statiques versus dynamiques.

57 Filesystem Hierarchy Standard : Boite d'outils
find : commande classique, n'utilise pas de base de données indexée locate, slocate : utilise une base de données (plus rapide que find) which : recherche l'emplacement d'un programme par rapport au contenu de la variable PATH. whereis : Rechercher les fichiers exécutables, les sources et les pages de manuel d'une commande. whatis : utilise une base de données qui contient une courte description.

58 find # find /bin -perm exec ls -lad {} \;

59 locate et slocate Utilisent une base de données, mis à jour automatiquement par cron ou manuellement par la commande updatedb les options de la commande updatedb sont décrit dans le fichier updatedb.conf : les types de systèmes de fichiers à exclure (PRUNEFS) les fichiers à exclure (PRUNEPATHS) etc .. slocate : est la version sécurisé de locate, elle n'affiche pas dans le résultat les fichiers auxquels l'utilisateur n'auraient pas accès

60 locate et slocate : exemples
# locate csh /home/jdean/.tcshrc /root/.cshrc /root/.tcshrc /usr/bin/sun-message.csh /usr/doc/tcsh /usr/doc/tcsh /FAQ

61 which # which java /usr/bin/java
Utiliser PATH pour trouver l'emplacement d'un programme. Utile pour le troubleshooting Exemple : # which java /usr/bin/java

62 whereis Rechercher les fichiers exécutables, les fichiers de configuration, les sources et les pages de manuel d'une commande. Exemple : $ whereis pam pam: /etc/pam.d /usr/include/pam.h /usr/share/man/man5/pam.5.gz /usr/share/man/man8/pam.8.gz

63 whatis Syntaxe : whatis motclés Rechercher exactement motsclés dans une base données. Exemple $ whatis pam ls pam (5) - see PAM (8) - Pluggable Authentication Modules for Linux pam (8) - Pluggable Authentication Modules for Linux ls (1) - list directory contents ls (1p) - list directory contents makewhatis : création de la base de données (root)

64 Commandes de connexion et d'administration
exit Cette commande permet d'interrompre une session en cours, elle déconnecte l'utilisateur du système. La combinaison de touches ''CTRL+D'' joue le même rôle. id Permet de connaître les renseignements identifiant l’utilisateur. who et whoami La commande who permet de savoir qui est connecté à votre machine. Avec l'option «-q» le nombre d'utilisateurs connectés est fourni. ~]# who root : :47 root pts/ :30 (:0.0)

65 Commandes de connexion et d'administration
su Permet à tout utilisateur de passer en mode Super Utilisateur. Avec l'option''- '' les fichiers profile sont pris en compte. passwd Permet de changer le mot de passe de l’utilisateur. ~]# passwd suptech Changing password for user suptech. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully.

66 Commandes d'info. sur le matériel et le système
df df (disk free) affiche l'espace libre sur les systèmes de fichiers montés ~]# df -m Sys. de fich. 1M-blocs Occupé Disponible Capacité Monté sur /dev/sda % / Tmpfs du Affiche l'espace mémoire utilisé par un fichier ou un répertoire.. ~]# du -h /etc/passwd 4,0K /etc/passwd


Télécharger ppt "Atelier Systèmes 1 Les commandes de Base Linux"

Présentations similaires


Annonces Google