Scheda di revisione: Introduction aux commandes Unix et scripting shell

📋 Plan du Cours

  1. Définition de la longueur d’une désignation en répertoires
  2. Syntaxe et interprétation des commandes shell sur une même ligne
  3. Manipulation des fichiers et répertoires : création, copie, déplacement
  4. Consultation et modification des fichiers texte avec éditeurs et commandes
  5. Gestion des droits d’accès aux fichiers et contrôle des modifications
  6. Tri et filtrage de fichiers texte avec commandes grep et sort
  7. Écriture et structuration de scripts shell avec gestion des paramètres et boucles
  8. Gestion des processus : affichage, contrôle et signaux
  9. Écriture de scripts shell réactifs aux signaux et interaction utilisateur
  10. Utilisation des commandes Unix fondamentales pour la gestion des fichiers et répertoires
  11. Commandes filtres et manipulation de flux d’entrée/sortie
  12. Commandes pour tests, opérations arithmétiques et gestion des paramètres en shell

📖 1. Définition de la longueur d’une désignation en répertoires

🔑 Notions clés & Définitions

  • Exemple : Illustration concrète utilisée pour clarifier une notion ou une règle.
  • Chaine : Suite ordonnée de caractères utilisée pour représenter des données textuelles, comme un chemin dans un système de fichiers.
  • Répertoires (d) : Fichiers stockés sur disque contenant des informations permettant d'organiser l'accès à d'autres fichiers, formant une structure hiérarchique arborescente.
  • Désignation relative : Chemin d'accès à un fichier ou répertoire exprimé par rapport au répertoire courant, utilisant notamment '.' pour désigner le répertoire courant et '..' pour le répertoire parent.

📝 Points essentiels

  • La longueur d’une désignation en répertoire correspond à la taille maximale autorisée pour le chemin complet d’un fichier ou répertoire dans le système.
  • Cette limite est imposée par le système d’exploitation et peut varier selon l’implémentation Unix utilisée.
  • Une désignation trop longue peut empêcher l’accès ou la manipulation correcte d’un fichier ou répertoire.
  • ➥Syntaxe : pwd ➥Description : Pas d’option. Exemple : pwd/users/linfg/linfg0/S3pwd /users/linfg/linfg0/S3 ➥Codes de retour :
    • Pas d’erreur : 0
    • Opération interrompue pour cause d’erreur : > 0 ☞ cd ➥Caractéristiques : 1. cd vient de change directory (« changer de répertoire »). 2. Cette commande permet de changer de répertoire courant, de manière relative ou absolue. 3. Il s’agit d’une commande interne, qui peut donc fortement varier d’un shell à l’autre. ➥Syntaxe : cd [désignation_répertoire] Lorsque la commande est tapée sans paramètre, on se retrouve dans le répertoire d’accueil (home directory). ➥Description : pas d’option. ➥Exemple : cd ../TD Cette commande permet de se déplacer dans l’arborescence vers le répertoire frère du répertoire courant, de nom TD KINUPI41 Systèmes AC – v2 5.4 – Manipulation de l’arborescence des fichiers 65/88 ➥Codes de retour :
    • Pas d’erreur : 0
    • Opération interrompue pour cause d’erreur : > 0 ☞ chmod ➥Caractéristiques : 1. chmod vient de change mode (« changer de mode »). 2. Cette commande permet de modifier les droits d’accès à un ou à plusieurs fichiers ou répertoires dont on est le propriétaire. ➥Syntaxe : chmod [-fR] [personnes...]+|-[permissions...] désignation [...]
    • Les personnes (classes d’utilisateurs) sont u (user ) s’il s’agit du propriétaire du fichier ou du répertoire, g (group) s’il s’agit des membres du groupe du propriétaire, o (others) s’il
  • [désignation_répertoire ...]
  • ls [-RadLCxmlnogrtucpFbqisf1AM] [désignation_fichier ...] ➥Description :
  • -a : affiche également les fichiers commençant par le caractère . (fichiers « cachés »).
  • -l : affiche une première ligne indiquant la taille totale du répertoire en nombre de « blocs »puis, pour chaque sous-répertoire ou fichier accessible, ses principales caractéristiques sur une ligne : nature (répertoire ou fichier), droits d’accès, nombre de liens, nom du propriétaire, nom du groupe du propriétaire, taille en octets, date et heure de dernière modification, nom (qui commence au 55ème caractère de la ligne). Si cette option est utilisée et qu’un fichier est passé en paramètre, alors ces informations ne sont affichées que pour ce fichier.
  • Autres options : cf. la description de la commande ls, en tapant man ls ➥Exemple : $ ls -al total 1224 drwxr-xr-x 9 durou tci 512

💡 À retenir

La taille maximale des chemins dans un système de fichiers est une contrainte essentielle à connaître pour éviter des erreurs lors de l’accès ou de la manipulation des fichiers.

📖 2. Syntaxe et interprétation des commandes shell sur une même ligne

🔑 Notions clés & Définitions

  • Deux temps : Processus en deux étapes distinctes, comme dans la commande eval où l’interprétation des métacaractères est suivie de l’exécution de la commande résultante.
  • Métacaractères du shell : Caractères spéciaux utilisés pour construire des listes de noms de fichiers correspondant à un modèle, notamment *, ?, et les crochets [] avec des listes ou intervalles de caractères.
  • Remarque : Bien que syntaxiquement correcte, la séquence ...|cat|...

📝 Points essentiels

  • Les métacaractères du shell permettent la construction de listes de noms de fichiers selon des modèles (ex: *, ?, []).
  • Les termes entre crochets dans la syntaxe d’une commande sont facultatifs, ceux hors crochets sont obligatoires.
  • Le caractère | sépare des éléments exclusifs dans la syntaxe d’une commande (choix mutuellement exclusif).
  • Les redirections permettent de modifier les flux d’entrée et sortie standard des commandes.
  • Plusieurs commandes peuvent être enchaînées sur une même ligne avec des opérateurs spécifiques (ex: ;, &&, ||).
  • Le shell commence par interpréter ces métacaractères, c’est-à-dire forme les listes des noms de fi- chiers qui correspondent au modèle, puis il transmet ces noms de fichiers aux commandes qui sont alors exécutées.

💡 À retenir

Maîtriser la syntaxe et les métacaractères permet d’écrire des commandes shell complexes sur une seule ligne.

📖 3. Manipulation des fichiers et répertoires : création, copie, déplacement

🔑 Notions clés & Définitions

  • Pas d’erreur : Code de retour égal à 0 indiquant que l’opération s’est déroulée sans erreur.
  • 0 ➥Remarque : Code de retour 0 signifiant la réussite d’une commande, utilisé pour vérifier sa bonne exécution.
  • M mode : Option ou paramètre spécifiant le mode ou le comportement d’une commande, notamment pour la création ou modification.
  • Commande mkdir : Commande utilisée pour créer un ou plusieurs répertoires, avec l’option -p permettant de créer les répertoires parents si nécessaire.

📝 Points essentiels

  • La commande mkdir permet de créer un ou plusieurs répertoires.
  • La commande cp sert à copier des fichiers ou répertoires, avec des options pour la récursivité.
  • La commande mv permet de déplacer ou renommer des fichiers et répertoires.
  • Les opérations de copie et déplacement peuvent être limitées à des chemins relatifs ou absolus.
  • Il est important de ne pas confondre déplacement et copie pour éviter la perte de données.
  • Pour supprimer les fichiers du répertoire courant comprenant l’extension .bak, on peut bien sûr utiliser l’une des deux syntaxes suivantes : rm *.bak rm ‘ls *.bak‘ KINUPI41 Systèmes AC – v2 5.4 – Manipulation de l’arborescence des fichiers 63/88 ➥Remarque : Pour supprimer un fichier dont le nom commence par un caractère -, comme par exemple -fichier, on peut taper la commande : rm -- -fichier La commande rm -fichier provoquerait l’affichage d’un message d’erreur, car le shell interpréterait les caractères -fichier comme une liste d’options de la commande rm.
  • Exercice 9 Commencer par lire la description de la commande mkdir, page 63. 1. En une seule ligne de commande, créer le sous-répertoire REP1 et le sous-sous-répertoire REP1/SREP1 2. En une seule ligne de commande, créer deux sous-répertoires REP2 et REP3 dans le répertoire courant, puis afficher le message termine 3. Même question, mais en écrivant ce message dans le fichier liste.txt ✎

💡 À retenir

La commande mkdir permet de créer un ou plusieurs répertoires.

📖 4. Consultation et modification des fichiers texte avec éditeurs et commandes

🔑 Notions clés & Définitions

  • Ligne : Unité de base d’un fichier texte, correspondant à une séquence de caractères terminée par un saut de ligne.
  • Commande cat : Commande permettant d’afficher le contenu d’un fichier ou de concaténer plusieurs fichiers sur la sortie standard.

📝 Points essentiels

  • La commande cat permet d’afficher le contenu d’un fichier texte sur la sortie standard.
  • Les éditeurs de texte permettent la modification interactive des fichiers texte.
  • La redirection >> permet d’ajouter du texte à la fin d’un fichier sans écraser son contenu.
  • Il est possible d’écrire plusieurs lignes dans un fichier via une redirection avec un marqueur de fin (ex: cat << FIN).

💡 À retenir

Utiliser la commande cat et les redirections pour lire et modifier efficacement les fichiers texte.

📖 5. Gestion des droits d’accès aux fichiers et contrôle des modifications

🔑 Notions clés & Définitions

  • Au premier plan : État d’un processus ou d’une commande qui s’exécute de manière active et visible dans la session ou le terminal courant.
  • En arrière-plan : État d’un processus ou d’une commande lancée pour s’exécuter sans bloquer la session courante, souvent indiquée par le symbole &.
  • Commande chmod : Commande permettant de modifier les droits d’accès en lecture, écriture et exécution des fichiers et répertoires, en attribuant ces droits distinctement à l’utilisateur, au groupe et aux autres.

📝 Points essentiels

  • Les droits sont attribués séparément pour l’utilisateur, le groupe et les autres.
  • Le code de retour d’une commande indique son succès (0) ou une erreur (valeur strictement supérieure à 0).
  • Le code de retour d’une commande peut être vérifié via la variable $? immédiatement après son exécution.
  • ➥Codes de retour :
    • Pas d’erreur : 0
    • Opération interrompue pour cause d’erreur : > 0 ➥Remarques :
    • Pour connaître les droits d’accès à un fichier, il suffit de taper la commande ls -l
    • Pour lancer l’exécution d’un script contenu dans le fichier nom_script.sh, on peut aussi le rendre exécutable, puis l’appeler directement, de la manière suivante : chmodu+xnomscript.shchmod u+x nom_script.sh nom_script.sh [paramètre_script ...] ☞ find ➥Caractéristiques : 1.

💡 À retenir

Les droits sont attribués séparément pour l’utilisateur, le groupe et les autres.

📖 6. Tri et filtrage de fichiers texte avec commandes grep et sort

🔑 Notions clés & Définitions

  • Variable : Caractère ou chaîne de caractères utilisée pour stocker ou représenter une donnée dans un script ou une commande.
  • Interrompue pour cause d’erreur : Message indiquant qu’une opération ou une commande a échoué, généralement avec un code de retour supérieur à 0.
  • Commande grep : Outil permettant d’extraire les lignes d’un fichier correspondant à un motif défini par une expression régulière.

📝 Points essentiels

  • La commande grep extrait les lignes d’un fichier correspondant à un motif défini par une expression régulière.
  • Les expressions régulières sont des chaînes de caractères avec des métacaractères permettant de définir des motifs complexes.
  • La commande sort trie les lignes d’un fichier selon différents critères, comme l’ordre alphabétique ou numérique.
  • Les expressions régulières peuvent être utilisées entre apostrophes ou guillemets pour éviter leur interprétation par le shell.

💡 À retenir

L’utilisation des expressions régulières avec grep et sort permet de filtrer et organiser efficacement des données textuelles.

📖 7. Écriture et structuration de scripts shell avec gestion des paramètres et boucles

🔑 Notions clés & Définitions

  • Commande expr : Lancée avec plusieurs opérateurs, il faut être vigilant, car l’ordre des opérations ne se fait ni de gauche à droite, ni de droite à gauche, mais suivant un ordre prédéfini de priorité des opérateurs.

📝 Points essentiels

  • Les structures if permettent d’effectuer des tests conditionnels dans un script.
  • Les boucles for et while permettent de répéter des actions selon des conditions ou sur des listes.
  • La commande expr permet d’évaluer des expressions arithmétiques et des comparaisons dans les scripts.
  • Dec 8 21:05:47 MET 1997 ➥Codes de retour :
    • Pas d’erreur : 0
    • Opération interrompue pour cause d’erreur : > 0 AC – v2 KINUPI41 Systèmes Index &, 55 bg, 55 commande Unix, 15 format, 16 interpréteurs, 15 syntaxe de description, 16 commandes basename, 67 break, 32 cat, 67 cd, 64 chmod, 65 cmp, 73 cp, 61 cut, 72 date, 85 df, 18 dirname, 66 du, 19 echo, 81 eval, 34, 78 exit, 77 export, 33 expr, 82 find, 65 grep, 70 head, 69 kill, 76 ln, 18 ls, 60 mail, 77 man, 16, 59 mkdir, 63 more, 68 mv, 61 ps, 75 pwd, 64 read, 80 return, 35 rm, 62 rmdir, 63 sed, 74 set, 79 sh, 78 shift, 80 sort, 71 tail, 69 tee, 68 test, 83 tr, 74 wc, 72 double évaluation, 34 eval, 34 expressions régulières, 28 métacaractères, 28 fg, 55 fichiers, 17 désignation, 17 droits d’accès, 18 liens, 18 modèle hiérarchique, 17 occupation disque, 18 types, 17 filtres, 22 fonctions, 35 gestion des erreurs, 35 paramètres nombre, 35 validité, 35 jobs, 55 kill, 56 métacaractères des expressions régulières, 28 du shell, 21 AC – v2 – 87/88 – KINUPI41 Systèmes 88/88 Index paramètres, 29 positionnels, 29 spéciaux, 29 ps, 54 redirections, 22 branchement, 25 capture de la sortie standard, 25 de l’entrée standard, 23 de la sortie standard, 24 de la sortie standard des erreurs, 26 schémas classiques, 36 scripts, 29 shell fils, 33 sleep, 55 sous-shell, 33 structures de contrôle, 31 choix, 32 choix multiple, 32 conditions, 31 opérateurs de contrôle, 31 répétitions, 32 stty, 54 systèmes de gestion de fichiers, 17 top, 55 trap, 56 unités standard, 22 Unix, 15 structure, 15 variables, 30 wait, 55 KINUPI41 Systèmes AC – v2

💡 À retenir

Construire des scripts robustes en combinant paramètres, conditions et boucles pour automatiser des tâches.

📖 8. Gestion des processus : affichage, contrôle et signaux

🔑 Notions clés & Définitions

  • Signal : Une notification envoyée à un processus pour lui indiquer d'effectuer une action spécifique, comme s'arrêter, se suspendre ou reprendre.
  • Stoppé : Il est dans un état suspendu.
  • Commande kill : L affiche la liste des signaux disponibles.

📝 Points essentiels

  • La commande ps affiche la liste des processus en cours d’exécution.
  • Les signaux Unix permettent de contrôler les processus (arrêt, suspension, reprise).
  • La commande kill envoie un signal à un processus identifié par son PID.
  • Certains signaux peuvent être interceptés ou ignorés par les processus.
  • L’envoi de signaux peut être testé depuis un autre terminal pour observer les effets sur un processus.
  • -a : affiche les informations sur tous les processus sauf ceux qui ne sont pas associés à un terminal ; -f : affiche des informations détaillées ; -l : affiche des informations très détaillées ; -u "liste d’utilisateurs" : affiche les informations sur les processus appartenant aux utilisa- teurs mentionnés. Les informations très détaillées affichées peuvent être les suivantes : F : obsolète ; S : état des processus O : en train de s’exécuter sur le processeur ; S : endormi ou bloqué (attend un événement pour continuer) ; R : prêt ; Z : zombie (terminé alors que son père n’a pas encore pris connaissance de sa terminaison) ; T : stoppé (par le signal SIGSTOP par exemple) ; UID : numéro ou nom du propriétaire du processus ; PID : numéro du processus ; PPID : numéro du processus père ; C : obsolète ; PRI : priorité (plus le nombre est grand, plus la priorité est basse) ; AC – v2 KINUPI41 Systèmes 56/88 4 – Sujets des travaux pratiques NI : gentillesse (plus le nombre est grand, moins l’accès du processus au processeur est fréquent) ; ADDR : adresse mémoire du processus ; SZ : taille du processus en Ko (code + données + pile) ; WCHAN : nom de la fonction du noyau du système dans laquelle le processus est endormi (bloqué) ; STIME : heure de lancement du processus ; TTY : terminal de contrôle du processus ; TIME : temps d’exécution cumulé du processus ; CMD : commande qui a donné
  • Émission d’un signal Par défaut, les caractéristiques d’un terminal permettent d’envoyer un certain nombre de signaux au processus lancé au premier plan.

💡 À retenir

La commande ps affiche la liste des processus en cours d’exécution.

📖 9. Écriture de scripts shell réactifs aux signaux et interaction utilisateur

🔑 Notions clés & Définitions

📝 Points essentiels

  • La commande trap permet de définir des gestionnaires de signaux dans un script shell.
  • Les scripts peuvent lire des entrées clavier pour interagir avec l’utilisateur.
  • Il est possible de combiner gestion des signaux et interaction utilisateur pour rendre les scripts réactifs et contrôlables.

💡 À retenir

Rendre les scripts dynamiques et interactifs en intégrant la gestion des signaux et des entrées utilisateur.

📖 10. Utilisation des commandes Unix fondamentales pour la gestion des fichiers et répertoires

🔑 Notions clés & Définitions

  • Attention : La vérification attentive des options des commandes est nécessaire pour éviter des actions non désirées, notamment des suppressions accidentelles.

📝 Points essentiels

  • La commande ls liste les fichiers et répertoires dans un répertoire donné.
  • La commande rm supprime des fichiers ou répertoires, avec l’option récursive pour supprimer un répertoire et son contenu.
  • La commande pwd affiche le chemin absolu du répertoire courant.
  • Il est important de vérifier les options des commandes pour éviter des suppressions accidentelles.
  • Ce sont des répertoires cachés qui apparaissent systématiquement avec l’option -a ➥Codes de retour :
    • Pas d’erreur : 0
    • Opération interrompue pour cause d’erreur : > 0 KINUPI41 Systèmes AC – v2 5.4 – Manipulation de l’arborescence des fichiers 61/88 ➥Remarque : La commande ls affiche un nom de fichier ou de sous-répertoire par ligne sur sa sortie standard.

💡 À retenir

La commande ls liste les fichiers et répertoires dans un répertoire donné.

📖 11. Commandes filtres et manipulation de flux d’entrée/sortie

🔑 Notions clés & Définitions

📝 Points essentiels

  • La commande cat concatène et affiche le contenu de fichiers ou de l'entrée standard.
  • Les redirections modifient les flux standard d’entrée et de sortie des commandes.
  • L’utilisation de séquences comme ...|cat|... est souvent inutile et doit être évitée.
  • Les métacaractères & et chiffres désignent les flux standards lors des redirections.
  • KINUPI41 Systèmes AC – v2 5.5 – Accès au contenu des fichiers 73/88 ➥Syntaxe : wc [-c|-m|-C] [-lw] [désignation_fichier ...] ➥Description :
    • Appelée sans option, la commande wc affiche, sur chaque ligne, le nombre de lignes, le nombre de mots, le nombre de caractères et L’exemple suivant montre que si le nombre de mots (séparés par des espaces ou des tabulations) est supérieur au nombre d’arguments de la commande read, alors la variable correspondant au dernier argument reçoit toute la fin de la ligne : readabcestunexempleread a b c’est un exemple echo acesta c’est echo bunexempleb un exemple
    • cat fichier | while read ligne do ...

💡 À retenir

Optimiser le traitement des données en combinant commandes via redirections et pipes permet de manipuler efficacement les flux d’entrée et de sortie.

📖 12. Commandes pour tests, opérations arithmétiques et gestion des paramètres en shell

🔑 Notions clés & Définitions

  • Commande test : Pour obtenir une écriture correcte, il est alors nécessaire d’entourer l’expression contenant le nom de la variable de guillemets : test "$chaine

📝 Points essentiels

  • La commande expr évalue des expressions arithmétiques et des opérations sur chaînes de caractères.
  • Les paramètres positionnels (1,1, 2, ...) transmettent des arguments aux scripts shell.
  • Il est nécessaire de vérifier la validité des paramètres, par exemple qu’ils soient des entiers, avant de les utiliser dans des calculs.
  • 1). Une expression régulière désigne donc une séquence type de carac- tères (pattern) à laquelle une ligne de texte (dans un fichier par exemple) peut correspondre ou ne pas correspondre. Elles sont par exemple utilisées pour extraire certaines lignes d’un fichier, pour extraire certains caractères de chaînes de caractères, pour effectuer des substitutions de texte, pour vérifier la validité syntaxique de chaînes de caractères (dans des formulaires sur des pages Web par exemple). Même si elles ne sont pas spécifiques au shell de Bourne, les expressions régulières sont très utilisées pour l’écriture de scripts shell au travers de commandes comme expr (page 82), sed (page
  • Cette commande permet d’effectuer des opérations arithmétiques et logiques, ainsi que des opé- rations sur les chaînes de caractères plus sophistiquées que la simple concaténation, et affiche le résultat de ces opérations sur la sortie standard.

💡 À retenir

Utiliser efficacement les tests et calculs pour contrôler le flux et la logique des scripts shell.

🧩 Compléments de couverture

  1. Détail source à réviser : 2 CUPGE-UPSSITECH KINUPI41 - SYSTÈMES Support de cours/TD intégrés et de TP Alain CROUZIL, Jean-Denis DUROU {crouzil,durou}@irit.fr Avant-propos Objectif Ce support est destiné à être utilisé durant les séances de cours/ (Source: "2 CUPGE-UPSSITECH KINUPI41 - SYSTÈMES Support de cours/TD intégrés et de TP Alain CROUZIL, Jean-Denis DUROU {crouzil,durou}@irit.fr Avant-propos Objectif Ce support est destiné à être utilisé durant les séances de cours/TD intégrés et de TP. Il ne constitue pas un support complet dans la mesure où, en séance, vous seront donnés des explications, des")
  2. Détail source à réviser : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Format général d’une commande Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Syntaxe de description d’une commande Unix . . . . (Source: ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Format général d’une commande Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Syntaxe de description d’une commande Unix . . . . . . . . . . . . . . . . . . . . . . . 16 ✎ Exercice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .")
  3. Détail source à réviser : des erreurs d’une commande vers sa sortie standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ✎ Exercice 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ✎ Exer (Source: "des erreurs d’une commande vers sa sortie standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ✎ Exercice 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ✎ Exercice 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 Introduction aux expressions")
  4. Détail source à réviser : . . . 36 3.10.6.1 Affichage d’un texte à l’écran . . . . . . . . . . . . . . . . . . . . . . . 36 3.10.6.2 Ajout d’un texte à la fin d’un fichier . . . . . . . . . . . . . . . . . . . 37 3.10.6.3 Parcours d’un fichier li (Source: ". . . 36 3.10.6.1 Affichage d’un texte à l’écran . . . . . . . . . . . . . . . . . . . . . . . 36 3.10.6.2 Ajout d’un texte à la fin d’un fichier . . . . . . . . . . . . . . . . . . . 37 3.10.6.3 Parcours d’un fichier ligne par ligne . . . . . . . . . . . . . . . . . . . 37 3.10.6.4 Parcours d’une chaîne de caractères mot par mot . . . . . . . . . . . . 38")
  5. Détail source à réviser : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 Où sont les commandes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 À l’aide ! . . . . . . . . . . . . . . . . . . . . (Source: ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 Où sont les commandes ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 À l’aide ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ☞ man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .")
  6. Détail source à réviser : . . . . . . . . . . . . . . . . . . . . . . . 78 ☞ sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ☞ eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (Source: ". . . . . . . . . . . . . . . . . . . . . . . 78 ☞ sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ☞ eval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ☞ set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ☞ shift . .")
  7. Détail source à réviser : noter le développement du langage Fortran. 1.2.3 Deuxième génération : machines à transistors (58-64) • Apparition des disques. • Le superviseur prend en charge le traitement de toutes les E/S : pour accéder aux périphér (Source: "noter le développement du langage Fortran. 1.2.3 Deuxième génération : machines à transistors (58-64) • Apparition des disques. • Le superviseur prend en charge le traitement de toutes les E/S : pour accéder aux périphériques, l’utilisateur doit faire appel à des directives du système. • Un sous-ensemble du système gère les disques et le placement des")
  8. Détail source à réviser : etc.) ; • permettre à plusieurs programmes de partager du code ou des données en mémoire ; • disposer d’un système de protection des utilisateurs entre eux et du SE contre les utilisateurs (protection des données et des (Source: "etc.) ; • permettre à plusieurs programmes de partager du code ou des données en mémoire ; • disposer d’un système de protection des utilisateurs entre eux et du SE contre les utilisateurs (protection des données et des programmes en mémoire et sur les disques) ; • gérer le parallélisme si la machine dispose de plusieurs processeurs. Le SE gère les")
  9. Détail source à réviser : de programmation (API : Application Programming Interface) comme par exemple en C sous Unix ; • un interpréteur de commandes (shell ) sous la forme de : ◦ lignes de commandes, ◦ programmes (scripts) ; • une interface gra (Source: "de programmation (API : Application Programming Interface) comme par exemple en C sous Unix ; • un interpréteur de commandes (shell ) sous la forme de : ◦ lignes de commandes, ◦ programmes (scripts) ; • une interface graphique (Aqua, Windows, X-Window, KDE, etc.). AC – v2 KINUPI41 Systèmes Chapitre 2 Les systèmes Unix 2.1 Généralités • Début du")
  10. Détail source à réviser : elle retourne le code 0. Dans les autres cas, elle retourne un entier strictement positif. ✎ Exercice 1 Si la syntaxe de la commande cut est décrite par les deux lignes suivantes : cut -c list [file ...] cut -f list [-d (Source: "elle retourne le code 0. Dans les autres cas, elle retourne un entier strictement positif. ✎ Exercice 1 Si la syntaxe de la commande cut est décrite par les deux lignes suivantes : cut -c list [file ...] cut -f list [-d delim] [-s] [file ...] les appels suivants sont-ils corrects : 1. cut -d : -f 1,7 fichier 2. cut -c 1-16,26-38 3. cut -s fich1")
  11. Détail source à réviser : donner la désignation relative du fichier : /users/linfg/l2inf201/REP1/f1 2.6.4 Droits d’accès Tout utilisateur est repéré par son nom (login) et par son groupe (par exemple, l’utilisateur l2inf201 fait partie du groupe (Source: "donner la désignation relative du fichier : /users/linfg/l2inf201/REP1/f1 2.6.4 Droits d’accès Tout utilisateur est repéré par son nom (login) et par son groupe (par exemple, l’utilisateur l2inf201 fait partie du groupe licence). À chaque fichier sont associées trois classes d’utilisateurs : • le propriétaire (user : u) ; • les membres du groupe")
  12. Détail source à réviser : ou une majuscule ; • une minuscule suivie d’un chiffre. 2. Modifier l’interprétation des commandes : • ; sépare deux commandes (ou plus) situées sur une même ligne ; • ’ délimite une chaîne de caractères contenant des es (Source: "ou une majuscule ; • une minuscule suivie d’un chiffre. 2. Modifier l’interprétation des commandes : • ; sépare deux commandes (ou plus) situées sur une même ligne ; • ’ délimite une chaîne de caractères contenant des espaces (à l’intérieur, tous les métacaractères perdent leur signification) ; • " délimite une chaîne de caractères contenant des")
  13. Détail source à réviser : être « branchés »les uns à la suite des autres : en redirigeant la sortie standard du filtre filtre1 sur l’entrée standard du filtre filtre2, on peut réaliser un nouveau filtre, dont l’entrée standard est l’entrée standa (Source: "être « branchés »les uns à la suite des autres : en redirigeant la sortie standard du filtre filtre1 sur l’entrée standard du filtre filtre2, on peut réaliser un nouveau filtre, dont l’entrée standard est l’entrée standard de filtre1 et la sortie standard, la sortie standard de filtre2. Enfin, certaines commandes, bien que ne pouvant pas fournir de")
  14. Détail source à réviser : Redirection simple de la sortie standard d’une commande commande > désignation_fichier✍ 10 La sortie standard de commande est connectée au fichier désignation_fichier. S’il n’existe pas, il est créé. Sinon, son contenu e (Source: "Redirection simple de la sortie standard d’une commande commande > désignation_fichier✍ 10 La sortie standard de commande est connectée au fichier désignation_fichier. S’il n’existe pas, il est créé. Sinon, son contenu est écrasé par la sortie de commande. Exemple : grep ’e’ > fich_sortie.txt écrit, dans le fichier fich_sortie.txt, les lignes tapées au")
  15. Détail source à réviser : de la commande ls est écrit dans le fichier fich.txt, mais cette écriture se fait de deux manières différentes. Dans le premier cas, un seul nom de fichier ou de sous-répertoire est écrit par ligne. Dans le deuxième cas, (Source: "de la commande ls est écrit dans le fichier fich.txt, mais cette écriture se fait de deux manières différentes. Dans le premier cas, un seul nom de fichier ou de sous-répertoire est écrit par ligne. Dans le deuxième cas, tous les noms de fichiers et de sous- répertoires sont écrits sur une même ligne, séparés par des espaces, car la capture transforme")
  16. Détail source à réviser : d’adresses électroniques enregistrées ligne par ligne, et soit un fichier lettre.txt contenant un message à envoyer. Écrire la ligne de commande permettant d’envoyer ce message aux adresses de la liste. Attention : Il es (Source: "d’adresses électroniques enregistrées ligne par ligne, et soit un fichier lettre.txt contenant un message à envoyer. Écrire la ligne de commande permettant d’envoyer ce message aux adresses de la liste. Attention : Il est fortement déconseillé de rediriger l’entrée standard ou la sortie standard d’un branchement, pour ne pas écrire des lignes de commande")
  17. Détail source à réviser : • Une ligne vide. • Une ligne commençant par debut. • Une ligne contenant un caractère * suivi d’un caractère quelconque suivi d’un caractère \ • Une ligne commençant par une lettre majuscule. • Une ligne contenant au mo (Source: "• Une ligne vide. • Une ligne commençant par debut. • Une ligne contenant un caractère * suivi d’un caractère quelconque suivi d’un caractère \ • Une ligne commençant par une lettre majuscule. • Une ligne contenant au moins dix lettres successives : la première doit être une majuscule et les neuf suivantes doivent être des minuscules. KINUPI41 Systèmes AC –")
  18. Détail source à réviser : la valeur du paramètre ?, à la fin de l’exécution du script, est le code de retour de la dernière commande du script ayant été exécutée. • Le paramètre $$ a pour valeur le numéro du processus du shell. Exemple : soit le _(Source: "la valeur du paramètre ?, à la fin de l’exécution du script, est le code de retour de la dernière commande du script ayant été exécutée. • Le paramètre $$ a pour valeur le numéro du processus du shell. Exemple : soit le script suivant contenu dans le fichier exemple : #! /bin/sh echo "$0=0, \1=1, \2=2, \3=3, \4=4, \5=5, \6=6, \7=$7,")_
  19. Détail source à réviser : partie de l’identificateur. ✍ 16 3.7 Structures de contrôle 3.7.1 Conditions Les structures de contrôle font appel à des conditions qui sont des appels à une commande dont le code de retour est considéré. Si le code de r (Source: "partie de l’identificateur. ✍ 16 3.7 Structures de contrôle 3.7.1 Conditions Les structures de contrôle font appel à des conditions qui sont des appels à une commande dont le code de retour est considéré. Si le code de retour de la commande vaut 0, la condition est considérée comme vraie. Sinon, elle est considérée comme fausse (convention inverse de")
  20. Détail source à réviser : exemple d’exécution de ce script : affiche.shfich.txtAffichageenpartantdudeˊbut:<premieˋrelignedefich.txt>...Affichageenpartantdelafin:<dernieˋrelignedefich.txt>...affiche.sh fich.txt Affichage en partant du début : <première ligne de fich.txt> ... Affichage en partant de la fin : <dernière ligne de fich.txt> ... 3.8 Sous-shell et shell fils 3 (Source: "exemple d’exécution de ce script : affiche.shfich.txtAffichageenpartantdudeˊbut:<premieˋrelignedefich.txt>...Affichageenpartantdelafin:<dernieˋrelignedefich.txt>...affiche.sh fich.txt Affichage en partant du début : <première ligne de fich.txt> ... Affichage en partant de la fin : <dernière ligne de fich.txt> ... 3.8 Sous-shell et shell fils 3.8.1 Sous-shell Une séquence de commandes placée entre parenthèses est exécutée dans un « sous-shell »du shell courant. De la même manière,")
  21. Détail source à réviser : ; • vérification de la validité des paramètres ; • traitement. KINUPI41 Systèmes AC – v2 3.10 – Éléments pour l’écriture des scripts 35/88 3.10.2 Fonctions Dans un script, il est possible de définir et d’utiliser des fon (Source: "; • vérification de la validité des paramètres ; • traitement. KINUPI41 Systèmes AC – v2 3.10 – Éléments pour l’écriture des scripts 35/88 3.10.2 Fonctions Dans un script, il est possible de définir et d’utiliser des fonctions. Une fonction ressemble à un script (la syntaxe d’appel est la même), à l’exception : • de sa définition qui est faite au début")
  22. Détail source à réviser : scripts 37/88 Exemple : cat << FIN Ceci est un texte écrit sur plusieurs lignes que je veux afficher à l’écran. FIN 3.10.6.2 Ajout d’un texte à la fin d’un fichier De la même manière, on peut utiliser la commande cat (pa (Source: "scripts 37/88 Exemple : cat << FIN Ceci est un texte écrit sur plusieurs lignes que je veux afficher à l’écran. FIN 3.10.6.2 Ajout d’un texte à la fin d’un fichier De la même manière, on peut utiliser la commande cat (page 67) et une redirection. Exemple : cat >> fichier.txt << FIN Ceci est un texte écrit sur plusieurs lignes que je veux ajouter à la fin du")
  23. Détail source à réviser : do ... ▶ avec la syntaxe 2, on obtient : Paramètre courant=ab script.sh: test: argument expected car 1vaut:abaupremiertourdeboucle,mais:cdefausecond,cequirevientaˋeˊcrireauniveaudelaconditionduwh(Source:"do...aveclasyntaxe2,onobtient:Parameˋtrecourant=abscript.sh:test:argumentexpectedcar1 vaut : ab au premier tour de boucle, mais : cd ef au second, ce qui revient à écrire au niveau de la condition du wh _(Source: "do ... ▶ avec la syntaxe 2, on obtient : Paramètre courant=ab script.sh: test: argument expected car 1 vaut : ab au premier tour de boucle, mais : cd ef au second, ce qui revient à écrire au niveau de la condition du while : [ cd ef ] qui est incorrect. Il faut donc remplacer : [ 1]par:["1 ] par : [ "1" ] qui donne bien : Paramètre courant=ab Paramètre")_
  24. Détail source à réviser : dans la fenêtre racine. Le nouveau prompt sera alors un caractère .Parrapportauxautresshells,leshelldeBournepreˊsentedeuxinconveˊnients:ilneposseˋdenihistoriquedecommandes(aˋlaidedesquatretouchesd(Source:"danslafene^treracine.Lenouveaupromptseraalorsuncaracteˋre. Par rapport aux autres shells, le shell de Bourne présente deux inconvénients : il ne possède ni historique de commandes (à l’aide des quatre touches d _(Source: "dans la fenêtre racine. Le nouveau prompt sera alors un caractère . Par rapport aux autres shells, le shell de Bourne présente deux inconvénients : il ne possède ni historique de commandes (à l’aide des quatre touches du clavier correspondant aux flèches de déplacement), ni complétion automatique des noms de fichiers et d’exécutables (à l’aide de la")_
  25. Détail source à réviser : le propriétaire. 8. Essayer à nouveau d’effectuer la modification précédente, à l’aide de nedit ou gedit ou kate . Sauvegarder. Exercice 4 La commande head permet de récupérer les premières lignes d’un fichier. La comman (Source: "le propriétaire. 8. Essayer à nouveau d’effectuer la modification précédente, à l’aide de nedit ou gedit ou kate . Sauvegarder. Exercice 4 La commande head permet de récupérer les premières lignes d’un fichier. La commande tail permet de récupérer les lignes situées à la fin d’un fichier. Après avoir lancé la commande man pour chacune de ces commandes,")
  26. Détail source à réviser : Vérifier que ce script fonctionne bien, en contrôlant l’existence du répertoire REP et d’un fichier dans ce répertoire, dont le nom comporte l’extension .txt ou .sh Exercice 9 Écrire un script permettant de dénombrer les (Source: "Vérifier que ce script fonctionne bien, en contrôlant l’existence du répertoire REP et d’un fichier dans ce répertoire, dont le nom comporte l’extension .txt ou .sh Exercice 9 Écrire un script permettant de dénombrer les fichiers du répertoire courant (les sous-répertoires du répertoire courant ne doivent donc pas être comptés) dans les quatre")
  27. Détail source à réviser : 67), cut (page 72), cp (page 61), echo (page 81), eval (page 78), exit (page 77), expr (page 82), grep (page 70), head (page 69), pwd (page 64), read (page 80), return (page 35), rm (page 62), shift (page 80), tail (page (Source: "67), cut (page 72), cp (page 61), echo (page 81), eval (page 78), exit (page 77), expr (page 82), grep (page 70), head (page 69), pwd (page 64), read (page 80), return (page 35), rm (page 62), shift (page 80), tail (page 69), tee (page 68), test (page 83), tr (page 74), wc (page 72). Exercice 14 Écrire un script permettant d’afficher à l’écran le contenu")
  28. Détail source à réviser : déjà exécutées seront écrites (en tant que chaînes de caractères) dans le fichier temp, de la manière décrite dans l’étape suivante : 4. Écriture, à la fin de temp, de la commande exécutée (ou des commandes exécutées, si (Source: "déjà exécutées seront écrites (en tant que chaînes de caractères) dans le fichier temp, de la manière décrite dans l’étape suivante : 4. Écriture, à la fin de temp, de la commande exécutée (ou des commandes exécutées, si l’utilisateur a tapé par exemple relancer 3), ainsi que des résultats produits, sous la forme : $ <commande n> <résultats")
  29. Détail source à réviser : fonction sortie qui affiche le message d’erreur suivant sur stderr : Usage : rep.sh [-r|-f] [nom_répertoire] et qui termine l’exécution du script en renvoyant le code qui lui a été passé en paramètre. 2. Tester si le nom (Source: "fonction sortie qui affiche le message d’erreur suivant sur stderr : Usage : rep.sh [-r|-f] [nom_répertoire] et qui termine l’exécution du script en renvoyant le code qui lui a été passé en paramètre. 2. Tester si le nombre de paramètres est compris entre 0 et 2 et sinon, appeler la fonction sortie avec le code 1. 3. Si le nombre de paramètres est égal à 2,")
  30. Détail source à réviser : ◦ Lors des appels récursifs de arbre.sh, deux paramètres lui sont passés. Le second paramètre est une chaîne de caractères (placée entre guillemets) qui doit être affichée devant le nom d’un sous-répertoire. Cette chaîne (Source: "◦ Lors des appels récursifs de arbre.sh, deux paramètres lui sont passés. Le second paramètre est une chaîne de caractères (placée entre guillemets) qui doit être affichée devant le nom d’un sous-répertoire. Cette chaîne de caractères est composée d’espaces, de caractères | et de caractères + • On a intérêt à gérer un compteur de sous-répertoires.")
  31. Détail source à réviser : du noyau du système dans laquelle le processus est endormi (bloqué) ; STIME : heure de lancement du processus ; TTY : terminal de contrôle du processus ; TIME : temps d’exécution cumulé du processus ; CMD : commande qui (Source: "du noyau du système dans laquelle le processus est endormi (bloqué) ; STIME : heure de lancement du processus ; TTY : terminal de contrôle du processus ; TIME : temps d’exécution cumulé du processus ; CMD : commande qui a donné naissance au processus. La commande top permet d’afficher des informations concernant les processus qui utilisent le plus le")
  32. Détail source à réviser : au processus lancé au premier plan. Par exemple, la combinaison de touches Ctrl-\ envoie le signal SIGQUIT. La commande kill -signal pid envoie le signal signal au processus d’identificateur pid. La commande kill -l affi (Source: "au processus lancé au premier plan. Par exemple, la combinaison de touches Ctrl-\ envoie le signal SIGQUIT. La commande kill -signal pid envoie le signal signal au processus d’identificateur pid. La commande kill -l affiche la liste des signaux disponibles. Réception d’un signal Quand un processus reçoit un signal, il a trois comportements par défaut")
  33. Détail source à réviser : sur stdout et le script continue à s’exécuter. Pour arrêter son exécution, on pourra lui envoyer le signal SIGQUIT (signal numéro 3) avec la combinaison de touches Ctrl-. 6. Depuis un autre terminal, vérifier les effets (Source: "sur stdout et le script continue à s’exécuter. Pour arrêter son exécution, on pourra lui envoyer le signal SIGQUIT (signal numéro 3) avec la combinaison de touches Ctrl-. 6. Depuis un autre terminal, vérifier les effets de l’envoi des signaux SIGINT, SIGQUIT et SIGKILL (signal numéro 9) sur le script précédent. Exercice 24 La commande trap peut être")
  34. Détail source à réviser : Systèmes 60/88 5 – Description des commandes ➥Codes de retour : • Pas d’erreur : 0 • Opération interrompue pour cause d’erreur : > 0 5.4 Manipulation de l’arborescence des fichiers ☞ ls ➥Caractéristiques : 1. ls vient de (Source: "Systèmes 60/88 5 – Description des commandes ➥Codes de retour : • Pas d’erreur : 0 • Opération interrompue pour cause d’erreur : > 0 5.4 Manipulation de l’arborescence des fichiers ☞ ls ➥Caractéristiques : 1. ls vient de list (« lister »). 2. Cette commande permet d’afficher le contenu d’un ou de plusieurs répertoires, ou des rensei- gnements concernant")
  35. Détail source à réviser : sous-répertoire PREPA/TD, de nom commençant par td02ex et comportant l’extension .c, dans le sous-répertoire TP, sans changer leurs noms. • cp -r PREPA/TD/ WIKI Cette commande copie le sous-répertoire PREPA/TD et l’ensem (Source: "sous-répertoire PREPA/TD, de nom commençant par td02ex et comportant l’extension .c, dans le sous-répertoire TP, sans changer leurs noms. • cp -r PREPA/TD/ WIKI Cette commande copie le sous-répertoire PREPA/TD et l’ensemble de son contenu dans le sous- répertoire WIKI, sans changer les noms. ➥Codes de retour : • Pas d’erreur : 0 • Opération interrompue")
  36. Détail source à réviser : au répertoire à créer. • -p : crée tous les répertoires intermédiaires, si nécessaire. ➥Exemples : • mkdir -m go-rw REP1 Cette commande crée le sous-répertoire REP1 dans le répertoire courant, en enlevant les droits en l (Source: "au répertoire à créer. • -p : crée tous les répertoires intermédiaires, si nécessaire. ➥Exemples : • mkdir -m go-rw REP1 Cette commande crée le sous-répertoire REP1 dans le répertoire courant, en enlevant les droits en lecture et en écriture (r pour read et w pour write) à toute personne non propriétaire du compte (g pour group et o pour others). • mkdir")
  37. Détail source à réviser : en début de branchement. ➥Syntaxe : basename désignation [suffixe] ➥Description : pas d’option. ➥Exemples : • basename/users/linfg/l2inf201/REP/fich.txtfich.txtbasename /users/linfg/l2inf201/REP/fich.txt fich.txtbasename/users/linfg/l2inf201/REP/fich.txt.txt(Source:"endeˊbutdebranchement.Syntaxe:basenamedeˊsignation[suffixe]Description:pasdoption.Exemples:basename /users/linfg/l2inf201/REP/fich.txt .txt _(Source: "en début de branchement. ➥Syntaxe : basename désignation [suffixe] ➥Description : pas d’option. ➥Exemples : • basename /users/linfg/l2inf201/REP/fich.txt fich.txt basename /users/linfg/l2inf201/REP/fich.txt .txt fich $ ➥Codes de retour : • Pas d’erreur : 0 • Opération interrompue pour cause d’erreur : > 0 5.5 Accès au contenu des fichiers ☞ cat")_
  38. Détail source à réviser : : 1. head signifie « tête ». 2. Cette commande affiche l’entrée standard, ou le ou les fichiers passés en paramètres, jusqu’à une position désignée. Sans option, elle affiche les 10 premières lignes. 3. C’est un filtre. (Source: ": 1. head signifie « tête ». 2. Cette commande affiche l’entrée standard, ou le ou les fichiers passés en paramètres, jusqu’à une position désignée. Sans option, elle affiche les 10 premières lignes. 3. C’est un filtre. ➥Syntaxe : head [-n position] [désignation_fichier ...] ➥Description : • -n position : affiche les position premières lignes")
  39. Détail source à réviser : KINUPI41 Systèmes AC – v2 5.5 – Accès au contenu des fichiers 71/88 contenant la séquence de quatre lettres tabc. Il en serait de même si l’expression régulière était écrite "\tabc" ou \tabc. Le seul moyen de rendre corr (Source: "KINUPI41 Systèmes AC – v2 5.5 – Accès au contenu des fichiers 71/88 contenant la séquence de quatre lettres tabc. Il en serait de même si l’expression régulière était écrite "\tabc" ou \tabc. Le seul moyen de rendre correcte cette recherche est de taper réellement sur la touche de tabulation du clavier, pour signifier que le premier caractère de")
  40. Détail source à réviser : et nb_c le nombre de caractères de désignation_fichier. Quant au symbole <espaces>, il désigne une chaîne non vide, de longueur variable, composée du seul caractère espace. Par conséquent, si on désire afficher le nombre (Source: "et nb_c le nombre de caractères de désignation_fichier. Quant au symbole <espaces>, il désigne une chaîne non vide, de longueur variable, composée du seul caractère espace. Par conséquent, si on désire afficher le nombre de mots du fichier fichier.txt, on peut taper l’une des trois commandes suivantes : wc fichier.txt | tr -s ’ ’ | cut -f3 -d’ ’ wc -w")
  41. Détail source à réviser : de remplacer ou de supprimer des caractères provenant de l’entrée standard. Elle fonctionne également avec les caractères de contrôle présentés dans la description de la commande echo, page 81. 3. Cette commande est un f (Source: "de remplacer ou de supprimer des caractères provenant de l’entrée standard. Elle fonctionne également avec les caractères de contrôle présentés dans la description de la commande echo, page 81. 3. Cette commande est un filtre. ➥Syntaxes : • tr -s|-d [-c] chaîne • tr [-cs] chaîne1 chaîne2 • tr -ds [-c] chaîne1 chaîne2 ➥Description : • -s : élimine les")
  42. Détail source à réviser : d’erreur : > 0 5.6 Gestion des processus ☞ ps ➥Caractéristiques : 1. ps vient de process status (« situation des processus »). 2. Cette commande permet d’afficher la liste des processus en cours d’activité. Lancée sans o (Source: "d’erreur : > 0 5.6 Gestion des processus ☞ ps ➥Caractéristiques : 1. ps vient de process status (« situation des processus »). 2. Cette commande permet d’afficher la liste des processus en cours d’activité. Lancée sans option, elle n’affiche que les processus actifs de l’utilisateur associés à la fenêtre d’où la commande est lancée. 3. Elle peut apparaître")
  43. Détail source à réviser : ☞ mail ➥Caractéristiques : 1. mail signifie « courrier ». 2. Cette commande permet d’envoyer un message par l’intermédiaire de l’entrée standard, ou de lire des messages de manière interactive. 3. Elle peut apparaître en (Source: "☞ mail ➥Caractéristiques : 1. mail signifie « courrier ». 2. Cette commande permet d’envoyer un message par l’intermédiaire de l’entrée standard, ou de lire des messages de manière interactive. 3. Elle peut apparaître en fin de branchement. ➥Syntaxe : • Envoi d’un message : mail [-tw] [-m type_du_message] adresse_destinataire [...] • Lecture du courrier")
  44. Détail source à réviser : [valeur] [...] ➥Description : cf. la description de la commande set, en tapant man set ➥Exemples : • set alpha beta Cette commande affecte la valeur alpha au paramètre positionnel 1etlavaleurbetaauparameˋtreposi(Source:"[valeur][...]Description:cf.ladescriptiondelacommandeset,entapantmansetExemples:setalphabetaCettecommandeaffectelavaleuralphaauparameˋtrepositionnel1 et la valeur beta au para- mètre posi _(Source: "[valeur] [...] ➥Description : cf. la description de la commande set, en tapant man set ➥Exemples : • set alpha beta Cette commande affecte la valeur alpha au paramètre positionnel 1 et la valeur beta au para- mètre positionnel $2 • x=1 set produira un affichage du type suivant : DISPLAY=141.115.12.137:0 ... HOME=/users/linfg/linfg0 ... x=1 Dans cet")_
  45. Détail source à réviser : : echo [chaîne ...] ➥Description : pas d’option. ➥Exemple : la commande echo * affiche la liste des noms de fichiers et de sous-répertoires du réper- toire courant (fichiers cachés non compris), séparés par des espaces. (Source: ": echo [chaîne ...] ➥Description : pas d’option. ➥Exemple : la commande echo * affiche la liste des noms de fichiers et de sous-répertoires du réper- toire courant (fichiers cachés non compris), séparés par des espaces. ➥Codes de retour : • Pas d’erreur : 0 • Opération interrompue pour cause d’erreur : > 0 AC – v2 KINUPI41 Systèmes 82/88 5 –")
  46. Détail source à réviser : suivant : tarat On aurait pu écrire l’expression régulière sous d’autres formes, comme par exemple : ’..*at.’ ’..*ata’ ➥Codes de retour : • Résultat de l’opération différent de 0 et de la chaîne vide : 0 • Autre r _(Source: "suivant : tarat On aurait pu écrire l’expression régulière sous d’autres formes, comme par exemple : ’..*at.’ ’..*ata’ ➥Codes de retour : • Résultat de l’opération différent de 0 et de la chaîne vide : 0 • Autre résultat : 1 • Syntaxe incorrecte : 2 • Opération interrompue pour cause d’erreur : > 2 ➥Remarques : • L’utilisation des cinq opérateurs *,")_
  47. Détail source à réviser : incorrecte. Pour obtenir une écriture correcte, il est alors nécessaire d’entourer l’expression contenant le nom de la variable de guillemets : test "chaine"=""Maisilestpluspratiquedutiliserladeuxieˋmesyntaxe(Source:"incorrecte.Pourobteniruneeˊcriturecorrecte,ilestalorsneˊcessairedentourerlexpressioncontenantlenomdelavariabledeguillemets:test"chaine" = "" Mais il est plus pratique d’utiliser la deuxième syntaxe _(Source: "incorrecte. Pour obtenir une écriture correcte, il est alors nécessaire d’entourer l’expression contenant le nom de la variable de guillemets : test "chaine" = "" Mais il est plus pratique d’utiliser la deuxième syntaxe de la commande test : • test $variable Dans cette écriture, la commande test teste si la variable variable n’a pas pour valeur la")_
  48. Détail source à réviser : Licence 2 CUPGE-UPSSITECH KINUPI41 - SYSTÈMES Support de cours/TD intégrés et de TP Alain CROUZIL, Jean-Denis DUROU {crouzil,durou}@irit (Source: "Licence 2 CUPGE-UPSSITECH KINUPI41 - SYSTÈMES Support de cours/TD intégrés et de TP Alain CROUZIL, Jean-Denis DUROU {crouzil,durou}@irit")
  49. Détail source à réviser : 33 3.8 Sous-shell et shell fils (Source: "33 3.8 Sous-shell et shell fils")
  50. Détail source à réviser : 2000 serveur / 2003 serveur) (Source: "2000 serveur / 2003 serveur)")
  51. Détail source à réviser : 80) Circuits VLSI (Very Large Scale Integration) : une puce peut contenir un très grand nombre de transistors pour un coût faible (Source: "80) Circuits VLSI (Very Large Scale Integration) : une puce peut contenir un très grand nombre de transistors pour un coût faible")
  52. Détail source à réviser : 59) permet d’obtenir la description d’une commande en tapant : man nom_commande Les règles qui définissent la syntaxe d’une commande sont les suivantes : • Les termes entre crochets sont facultatifs (Source: "59) permet d’obtenir la description d’une commande en tapant : man nom_commande Les règles qui définissent la syntaxe d’une commande sont les suivantes : • Les termes entre crochets sont facultatifs")
  53. Détail source à réviser : À chaque fichier sont associées trois classes d’utilisateurs : • le propriétaire (user : u) ; • les membres du groupe du propriétaire (group : g) ; • les autres utilisateurs (others : o). Chaque classe peut avoir, sur un (Source: "À chaque fichier sont associées trois classes d’utilisateurs : • le propriétaire (user : u) ; • les membres du groupe du propriétaire (group : g) ; • les autres utilisateurs (others : o). Chaque classe peut avoir, sur un fichier, les droits de : • lecture (r) ; • écriture (w) ; • exécution (x). ▶ Pour les répertoires : ◦ r signifie le droit d’afficher le...")
  54. Détail source à réviser : e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « lecture » (Source: "e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « lecture »")
  55. Détail source à réviser : 1. Que réalisent les deux commandes suivantes : echo "bonjour" > cat echo "bonjour" | cat 2 (Source: "1. Que réalisent les deux commandes suivantes : echo "bonjour" > cat echo "bonjour" | cat 2")
  56. Détail source à réviser : 65) : chmodu+xnomscriptpuislappelerdirectement:chmod u+x nom_script puis l’appeler directement : nom_script [paramètre_script (Source: "65) : chmodu+xnomscriptpuislappelerdirectement:chmod u+x nom_script puis l’appeler directement : nom_script [paramètre_script")
  57. Détail source à réviser : C) existe, mais elle n’est pas nécessaire dans la structure de contrôle d’aiguillage à choix multiple, car le double point-virgule ;; est équivalent à cette commande (Source: "C) existe, mais elle n’est pas nécessaire dans la structure de contrôle d’aiguillage à choix multiple, car le double point-virgule ;; est équivalent à cette commande")
  58. Détail source à réviser : 3 Pour un entier Une solution consiste à effectuer une opération arithmétique avec la commande expr (page 82) et à vérifier que son code de retour est strictement inférieur à 2. Exemple : expr 1+0>/dev/null2>/dev/(Source:"3PourunentierUnesolutionconsisteaˋeffectueruneopeˊrationarithmeˊtiqueaveclacommandeexpr(page82)etaˋveˊrifierquesoncodederetoureststrictementinfeˊrieuraˋ2.Exemple:expr1 + 0 > /dev/null 2> /dev/ _(Source: "3 Pour un entier Une solution consiste à effectuer une opération arithmétique avec la commande expr (page 82) et à vérifier que son code de retour est strictement inférieur à 2. Exemple : expr 1 + 0 > /dev/null 2> /dev/null if [ ?ge2]thenecho"Erreur:? -ge 2 ] then echo "Erreur : 1 n’est pas un entier" >&2 echo "Usage : $0 entier" >&2 exit 2 fi ✎ Exercice 18 Commencer par l...")_
  59. Détail source à réviser : 2. Créer le répertoire REP, et son sous-répertoire SOUSREP, en une seule ligne de commande (Source: "2. Créer le répertoire REP, et son sous-répertoire SOUSREP, en une seule ligne de commande")
  60. Détail source à réviser : 16 Decembre 1996 15:31:37 Pour l’écriture de ce script, il est conseillé d’utiliser un « aiguillage à choix multiple »(cf (Source: "16 Decembre 1996 15:31:37 Pour l’écriture de ce script, il est conseillé d’utiliser un « aiguillage à choix multiple »(cf")
  61. Détail source à réviser : 3. Dans le cas où l’utilisateur tape par exemple relancer 3, nouvelle exécution des 3 dernières commandes exécutées et affichage à l’écran de ces commandes et des résultats produits corres- pondants (Source: "3. Dans le cas où l’utilisateur tape par exemple relancer 3, nouvelle exécution des 3 dernières commandes exécutées et affichage à l’écran de ces commandes et des résultats produits corres- pondants")
  62. Détail source à réviser : Si la valeur de rep n’est pas un nom de répertoire accessible, alors appeler la fonction sortie avec le code 3. KINUPI41 Systèmes AC – v2 Séance 5 51/88 6. Afficher l’information correspondant à la valeur de option. Si l (Source: "Si la valeur de rep n’est pas un nom de répertoire accessible, alors appeler la fonction sortie avec le code 3. KINUPI41 Systèmes AC – v2 Séance 5 51/88 6. Afficher l’information correspondant à la valeur de option. Si la valeur de option n’est ni aucune, ni -r, ni -f, alors : appeler la fonction sortie avec le code 4 si cette valeur est la chaîne - et av...")
  63. Détail source à réviser : 5. Vérifier l’état de vos processus en affichant les informations très détaillées concernant les proces- sus du terminal (Source: "5. Vérifier l’état de vos processus en affichant les informations très détaillées concernant les proces- sus du terminal")
  64. Détail source à réviser : 2. Cette commande permet d’afficher le contenu d’un ou de plusieurs répertoires, ou des rensei- gnements concernant un ou plusieurs fichiers (Source: "2. Cette commande permet d’afficher le contenu d’un ou de plusieurs répertoires, ou des rensei- gnements concernant un ou plusieurs fichiers")
  65. Détail source à réviser : 2. Cette commande permet de déplacer un ou plusieurs fichiers ou répertoires dans l’arborescence (Source: "2. Cette commande permet de déplacer un ou plusieurs fichiers ou répertoires dans l’arborescence")
  66. Détail source à réviser : 2. Cette commande permet de rechercher les fichiers et les répertoires qui se trouvent dans les sous-arborescences dont les racines sont les répertoires dont les désignations sont passées en paramètres (Source: "2. Cette commande permet de rechercher les fichiers et les répertoires qui se trouvent dans les sous-arborescences dont les racines sont les répertoires dont les désignations sont passées en paramètres")
  67. Détail source à réviser : 2. Cette commande permet de supprimer une partie des lignes d’un ou de plusieurs fichiers, ou de l’entrée standard (Source: "2. Cette commande permet de supprimer une partie des lignes d’un ou de plusieurs fichiers, ou de l’entrée standard")
  68. Détail source à réviser : Pour cela, il est possible d’utiliser la commande sed, page 74. ☞ sed ➥Caractéristiques : 1. tr vient de stream editor (« éditeur de flux »). KINUPI41 Systèmes AC – v2 5.6 – Gestion des processus 75/88 2. Cette commande (Source: "Pour cela, il est possible d’utiliser la commande sed, page 74. ☞ sed ➥Caractéristiques : 1. tr vient de stream editor (« éditeur de flux »). KINUPI41 Systèmes AC – v2 5.6 – Gestion des processus 75/88 2. Cette commande permet d’effectuer des manipulations complexes sur des fichiers de texte qui peuvent être de grande taille. Les noms des fichiers peuvent...")
  69. Détail source à réviser : 2. Cette commande procède en deux temps : • Dans un premier temps, la commande est remplacée par la liste de ses paramètres, avec interprétation des métacaractères du shell (Source: "2. Cette commande procède en deux temps : • Dans un premier temps, la commande est remplacée par la liste de ses paramètres, avec interprétation des métacaractères du shell")
  70. Détail source à réviser : 1. • De même que pour la commande set, les valeurs de #, * et @sontmisesaˋjourautomatiquementparlacommandeshift(leparameˋtre@ sont mises à jour automatique- ment par la commande shift (le paramètre # est décrémenté) (Source: "1. • De même que pour la commande set, les valeurs de #, * et @sontmisesaˋjourautomatiquementparlacommandeshift(leparameˋtre@ sont mises à jour automatique- ment par la commande shift (le paramètre # est décrémenté)")
  71. Détail source à réviser : 2. Cette commande permet d’effectuer des tests de comparaison, en renvoyant le code de retour 0 lorsque le résultat est vrai, et une autre valeur sinon (Source: "2. Cette commande permet d’effectuer des tests de comparaison, en renvoyant le code de retour 0 lorsque le résultat est vrai, et une autre valeur sinon")
  72. Détail source à réviser : 2. Cette commande permet d’effectuer des opérations arithmétiques et logiques, ainsi que des opé- rations sur les chaînes de caractères plus sophistiquées que la simple concaténation, et affiche le résultat de ces opérat (Source: "2. Cette commande permet d’effectuer des opérations arithmétiques et logiques, ainsi que des opé- rations sur les chaînes de caractères plus sophistiquées que la simple concaténation, et affiche le résultat de ces opérations sur la sortie standard")
  73. Détail source à réviser : ] les appels suivants sont-ils corrects : 1. cut -d : -f 1,7 fichier 2. cut -c 1-16,26-38 3. cut -s fich1 fich2 4. cut -f 2 -c 1,3,5 fichier KINUPI41 Systèmes AC – v2 2.6 – Système de gestion de fichier (SGF) d’Unix 17/8 (Source: "] les appels suivants sont-ils corrects : 1. cut -d : -f 1,7 fichier 2. cut -c 1-16,26-38 3. cut -s fich1 fich2 4. cut -f 2 -c 1,3,5 fichier KINUPI41 Systèmes AC – v2 2.6 – Système de gestion de fichier (SGF) d’Unix 17/88 2.6 Système de gestion de fichier (SGF) d’Unix 2.6.1 Différents types de fichiers Sous Unix, un fichier est une source de données qui p...")
  74. Détail source à réviser : 1. La désignation relative et la désignation absolue d’un fichier sont-elles uniques (Source: "1. La désignation relative et la désignation absolue d’un fichier sont-elles uniques")
  75. Détail source à réviser : e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « écriture » (Source: "e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « écriture »")
  76. Détail source à réviser : e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « écriture en fin de fichier » (Source: "e. Remarque : une telle redirection occasionne l’ouverture du fichier désignation_fichier en mode « écriture en fin de fichier »")
  77. Détail source à réviser : ✎ Exercice 14 Si le répertoire courant est la racine /, que produisent les séquences suivantes : 1. a=1 b=apwdechoa‘pwd‘ echo b 2. a=1 b=apwdechoa ‘pwd‘ echo b 3. a=1 b="apwd"echoa ‘pwd‘" echo b 4. a=1 b=’apwd‘’echoa ‘pwd‘’ echo b Remarques : • Il (Source: "✎ Exercice 14 Si le répertoire courant est la racine /, que produisent les séquences suivantes : 1. a=1 b=apwdechoa‘pwd‘ echo b 2. a=1 b=apwdechoa ‘pwd‘ echo b 3. a=1 b="apwd"echoa ‘pwd‘" echo b 4. a=1 b=’apwd‘’echoa ‘pwd‘’ echo b Remarques : • Il existe, dans tout shell, un certain nombre de variables prédéfinies, comme la variable PATH de sh dont la valeur est une liste de répert...")
  78. Détail source à réviser : 4. a=1 b=’apwd‘’echoa ‘pwd‘’ echo b Remarques : • Il existe, dans tout shell, un certain nombre de variables prédéfinies, comme la variable PATH de sh dont la valeur est une liste de répertoires (Source: "4. a=1 b=’apwd‘’echoa ‘pwd‘’ echo b Remarques : • Il existe, dans tout shell, un certain nombre de variables prédéfinies, comme la variable PATH de sh dont la valeur est une liste de répertoires")
  79. Détail source à réviser : 80) while [ 1 ] do # Traitement de 1 echo "Paramètre courant=1"shiftdoneSilonsupposequelescriptsappellescript(Source:"80)while[1" shift done Si l’on suppose que le script s’appelle script _(Source: "80) while [ 1 ] do # Traitement de 1echo"Parameˋtrecourant=1 echo "Paramètre courant=1" shift done Si l’on suppose que le script s’appelle script")_
  80. Détail source à réviser : 2. Afficher la liste des étudiants ayant un numéro inférieur à 100 (on aura intérêt à utiliser la commande grep avec l’option -v) (Source: "2. Afficher la liste des étudiants ayant un numéro inférieur à 100 (on aura intérêt à utiliser la commande grep avec l’option -v)")
  81. Détail source à réviser : 1. Écrire la fonction sortie qui affiche le message d’erreur suivant sur stderr : Usage : rep (Source: "1. Écrire la fonction sortie qui affiche le message d’erreur suivant sur stderr : Usage : rep")
  82. Détail source à réviser : 3. Vérifier l’effet de l’envoi du signal SIGINT (signal numéro 2) sur l’exécution de ce script en utilisant les touches Ctrl-c (Source: "3. Vérifier l’effet de l’envoi du signal SIGINT (signal numéro 2) sur l’exécution de ce script en utilisant les touches Ctrl-c")
  83. Détail source à réviser : 2048 Dec 4 01:42 TD drwxr-xr-x 2 durou tci 1024 Dec 3 18:12 TP -rw-r--r-- 1 durou tci 12105 Dec 4 00:45 welcome (Source: "2048 Dec 4 01:42 TD drwxr-xr-x 2 durou tci 1024 Dec 3 18:12 TP -rw-r--r-- 1 durou tci 12105 Dec 4 00:45 welcome")
  84. Détail source à réviser : u) ; • les membres du groupe du propriétaire (group : g) ; • les autres utilisateurs (others : o) (Source: "u) ; • les membres du groupe du propriétaire (group : g) ; • les autres utilisateurs (others : o)")
  85. Détail source à réviser : En une seule ligne de commande, créer le sous-répertoire REP1 et le sous-sous-répertoire REP1/SREP1 2. En une seule ligne de commande, créer deux sous-répertoires REP2 et REP3 dans le répertoire courant, puis afficher le (Source: "En une seule ligne de commande, créer le sous-répertoire REP1 et le sous-sous-répertoire REP1/SREP1 2. En une seule ligne de commande, créer deux sous-répertoires REP2 et REP3 dans le répertoire courant, puis afficher le message termine 3. Même question, mais en écrivant ce message dans le fichier liste.txt ✎ Exercice 10 Commencer par lire la description...")
  86. Détail source à réviser : 79. • Dans le cas où on lance un script, les valeurs des paramètres du script sont affectées aux para- mètres positionnels du nouveau shell qui est lancé (Source: "79. • Dans le cas où on lance un script, les valeurs des paramètres du script sont affectées aux para- mètres positionnels du nouveau shell qui est lancé")
  87. Détail source à réviser : 83) avec les opérateurs de comparaison -eq, -ne, -gt, -lt, -ge, -le et le paramètre # _(Source: "83) avec les opérateurs de comparaison -eq, -ne, -gt, -lt, -ge, -le et le paramètre #")_
  88. Détail source à réviser : 2. Déterminer a priori quel doit être le résultat de chacune des quatre commandes ci-dessous, puis contrôler : • cat liste (Source: "2. Déterminer a priori quel doit être le résultat de chacune des quatre commandes ci-dessous, puis contrôler : • cat liste")
  89. Détail source à réviser : 1. Afficher les informations détaillées, puis très détaillées, concernant tous les processus vous ap- partenant (Source: "1. Afficher les informations détaillées, puis très détaillées, concernant tous les processus vous ap- partenant")
  90. Détail source à réviser : 1. Construire des listes de noms de fichiers, séparés par des espaces, correspondant à un ✍ 7 certain modèle (si aucun nom de fichier ne correspond au modèle, le modèle n’est pas remplacé) : • * désigne une chaîne de car (Source: "1. Construire des listes de noms de fichiers, séparés par des espaces, correspondant à un ✍ 7 certain modèle (si aucun nom de fichier ne correspond au modèle, le modèle n’est pas remplacé) : • * désigne une chaîne de caractères quelconque (éventuellement vide) ne contenant pas de caractère /, et ne commençant pas par un caractère")
  91. Détail source à réviser : 2. Modifier l’interprétation des commandes : • ; sépare deux commandes (ou plus) situées sur une même ligne ; • ’ délimite une chaîne de caractères contenant des espaces (à l’intérieur, tous les métacaractères perdent le (Source: "2. Modifier l’interprétation des commandes : • ; sépare deux commandes (ou plus) situées sur une même ligne ; • ’ délimite une chaîne de caractères contenant des espaces (à l’intérieur, tous les métacaractères perdent leur signification) ; • " délimite une chaîne de caractères contenant des espaces (à l’intérieur, tous les métacaractères perdent leur sign...")
  92. Détail source à réviser : e. AC – v2 KINUPI41 Systèmes 26/88 3 – Éléments de shell de Bourne Remarques : • La commande qui vient d’être donnée en exemple n’est absolument pas équivalente à la commande ls | grep ’e’, puisque cette dernière command (Source: "e. AC – v2 KINUPI41 Systèmes 26/88 3 – Éléments de shell de Bourne Remarques : • La commande qui vient d’être donnée en exemple n’est absolument pas équivalente à la commande ls | grep ’e’, puisque cette dernière commande affiche, parmi les noms de fichiers retournés par la commande ls, ceux qui contiennent au moins un caractère e (dans leur nom)")
  93. Détail source à réviser : 2. Afficher intégralement les trois chaînes de caractères suivantes, à l’aide de trois appels à la commande echo : AC – v2 – 43/88 – KINUPI41 Systèmes 44/88 4 – Sujets des travaux pratiques Le renard dit "Oh, Monsieur du (Source: "2. Afficher intégralement les trois chaînes de caractères suivantes, à l’aide de trois appels à la commande echo : AC – v2 – 43/88 – KINUPI41 Systèmes 44/88 4 – Sujets des travaux pratiques Le renard dit "Oh, Monsieur du Corbeau" J’ai gagne $100 a l’Alcazar Commentaire : * Initialisation *\ Remarques : • Le métacaractère \ annihile l’évaluation du caract...")
  94. Détail source à réviser : 1. Affichage du menu suivant, en boucle : KINUPI41 Systèmes AC – v2 Séance 4 49/88 Vous pouvez taper une commande Unix, ou bien : fin si vous souhaitez quitter l’application relancer n si vous souhaitez relancer les n de (Source: "1. Affichage du menu suivant, en boucle : KINUPI41 Systèmes AC – v2 Séance 4 49/88 Vous pouvez taper une commande Unix, ou bien : fin si vous souhaitez quitter l’application relancer n si vous souhaitez relancer les n dernières commandes Votre choix : 2")
  95. Détail source à réviser : 4. Écriture, à la fin de temp, de la commande exécutée (ou des commandes exécutées, si l’utilisateur a tapé par exemple relancer 3), ainsi que des résultats produits, sous la forme : <commanden><reˊsultatsproduitspa(Source:"4.Eˊcriture,aˋlafindetemp,delacommandeexeˊcuteˊe(oudescommandesexeˊcuteˊes,silutilisateuratapeˊparexemplerelancer3),ainsiquedesreˊsultatsproduits,souslaforme:<commande n> <résultats produits pa _(Source: "4. Écriture, à la fin de temp, de la commande exécutée (ou des commandes exécutées, si l’utilisateur a tapé par exemple relancer 3), ainsi que des résultats produits, sous la forme : <commande n> <résultats produits par la commande n> $ <commande n+1> <résultats produits par la commande n+1>")_
  96. Détail source à réviser : 3. Dans le cas où l’utilisateur tape par exemple relancer 3, on écrira dans temp les 3 dernières commandes qui y ont été déjà écrites, ainsi que les résultats produits, mais on n’écrira pas dans ce fichier la commande re (Source: "3. Dans le cas où l’utilisateur tape par exemple relancer 3, on écrira dans temp les 3 dernières commandes qui y ont été déjà écrites, ainsi que les résultats produits, mais on n’écrira pas dans ce fichier la commande relancer 3 (c’est-à-dire que temp ne doit contenir que des commandes Unix)")

📅 Repères chronologiques

DateÉvénement
1224Première date mentionnée
1996Date mentionnée dans le contexte
1997Date mentionnée dans le contexte
2000Date mentionnée dans le contexte
2003Date mentionnée dans le contexte
2048Date mentionnée dans le contexte

📊 Tableaux de Synthèse

Comparatif des commandes Unix fondamentales

CommandeFonction principaleOptions clés
lsListe fichiers et répertoires-a pour fichiers cachés
rmSupprimer fichiers/répertoires-r pour récursif
pwdAfficher chemin absoluAucune option
catAfficher contenu fichiersRedirection possible

Gestion des droits d’accès avec chmod

Mode d’attributionDescriptionExemples
u+xRendre exécutable pour utilisateurchmod u+x fichier.sh
g-wRetirer écriture au groupechmod g-w fichier
o+rAjouter lecture aux autreschmod o+r fichier
a=rwxDroits complets pour touschmod a=rwx fichier

⚠️ Pièges & Confusions Fréquentes

  1. Confusion entre chemins relatifs et absolus.
  2. Oublier de vérifier les options des commandes avant exécution.
  3. Suppression accidentelle de fichiers importants avec rm -r.
  4. Ne pas tester le code de retour après une commande.
  5. Mauvaise utilisation des expressions régulières avec grep.
  6. Ignorer la nécessité de sauvegarder avant modification de fichiers.
  7. Ne pas vérifier les droits d’accès avant modification.

✅ Checklist Examen

  1. Vérifier la longueur maximale des désignations en répertoire.
  2. Utiliser pwd pour connaître le répertoire courant.
  3. Changer de répertoire avec cd en utilisant des chemins relatifs ou absolus.
  4. Modifier les droits d’accès avec chmod selon les besoins.
  5. Filtrer les fichiers avec grep en utilisant des expressions régulières.
  6. Trier les fichiers avec sort pour organiser les données.
  7. Écrire des scripts interactifs avec gestion des signaux.
  8. Utiliser les commandes Unix pour gérer fichiers et répertoires.
  9. Manipuler flux d’entrée/sortie avec cat et redirections.
  10. Tester les opérations avec des commandes de test.
  11. Gérer les paramètres et opérations arithmétiques en shell.
  12. Vérifier les codes de retour des commandes.

Metti alla prova le tue conoscenze

Metti alla prova le tue conoscenze su Introduction aux commandes Unix et scripting shell con 10 domande a scelta multipla con correzioni dettagliate.

1. Quand la limite de longueur d’une désignation en répertoire a-t-elle été définie ?

2. Que désignent les métacaractères du shell dans la syntaxe des commandes ?

Fai il quiz →

Ripassa con le flashcard

Memorizza i concetti chiave di Introduction aux commandes Unix et scripting shell con 24 flashcard interattive.

Longueur d’une désignation — définition ?

Taille maximale du chemin d’un fichier ou répertoire.

Syntaxe commandes shell — sur une ligne ?

Enchaînement avec ;, &&, || et métacaractères pour modèles.

Manipulation fichiers — création, copie, déplacement ?

Utiliser mkdir, cp, mv pour gérer fichiers et répertoires.

Vedi le flashcard →

Similar courses

Crea le tue schede di revisione

Importa il tuo corso e l'AI genera schede, quiz e flashcard in 30 secondi.

Generatore di schede