Académique Documents
Professionnel Documents
Culture Documents
Introduction
Les symboles <,> sont les opérateurs de redirection ; le symbole supérieur à > est utilisé pour envoyer la
sortie d’un programme (processus) vers un fichier en entrée.
De l’autre, le symbole inférieur à < est utilisé pour envoyer la sortie d’un fichier à un programme(processus)
en entrée.
Ce qui nous donne :
✓ Exemple : grep abc < essai, la chaîne abc est recherchée dans le fichier
essai.
liste. Si le fichier n'existe pas, il est créé, sinon son contenu est écrasé.
1
.
Elle sont des suites de caractères ordinaires ou spéciaux qui ont des significations particulières permettant
de faire des sélections.
• ^ début de ligne
• . un caractère quelconque
• $ fin de ligne
• \c protection du caractère c
2
.
L'expression [a-z][a-z] * cherche les lignes contenant au minimum un caractère en minuscule. [a-z]
caractère permis, [a-z]* recherche d'occurrence des lettres permises (entre 0 et plus).
L'expression ^[0-9]\{4\}$ a pour signification, du début ^ à la fin du fichier $ ,recherche les nombres [0-9]
de 4 chiffres \{4}.
La commande « cat »
− Exemples :
essai2.
La commande « more »
3
.
La commande less affiche le contenu d'un fichier page par page. Elle peut être
considérée comme le successeur de more. Elle fait la même chose mais offre davantage
de possibilités, comme le retour en arrière.
− Options principales :
− Exemples :
4
.
La commande « sort »
− Syntaxe : sort [-fnru] [-t car] [+i] [-j] [-o sortie] fichier
− Options principales :
La commande « cut »
− Options principales :
5
.
c'est la tabulation).
✓ +i : on trie à partir du i-ième champ. i=1, 2, ….
La commande « wc »
− Options principales :
− Option principale : -n affiche les n premières lignes du fichier. Par défaut, n = 10.
− Exemple : head -10 *.c affiche les 10 premières lignes de tous les fichiers
sources .c du répertoire courant.
La commande « tail »
− Option principale : -n affiche les n dernières lignes du fichier. Par défaut, n = 10.
− Exemple : tail -50 essai affiche les 50 dernières lignes du fichier essai.
6
.
− Options principales :
✓ n : exactement n.
✓ -n : inférieur à n.
✓ +n : supérieur à n.
Ces options peuvent être combinées aux moyens des opérateurs logiques :
✓ -o : OU logique
✓ -a : ET logique
✓ ! : NON logique
− Exemples :
8
.
Travail demandé
a) Exécuter la commande ls. Taper ensuite ls > sorties, puis relister le contenu du
répertoire courant. Un nouveau fichier appelé sorties a été créé. Lire son contenu.
b) Exécuter maintenant la commande ls -l > sorties. Consulter à nouveau le contenu de sorties.
c) Faire en sorte que le message d’erreur soit écrit dans un fichier nommé erreur.
3. En une seule commande, extraire les noms d’utilisateurs et les UID, puis trier suivant les
UID etrediriger le tout vers un fichier file1.
4. Dans le fichier de résultat précédent remplacer les ":" par des " " (espace).
Activité 3 : grep
1. Créer un répertoire "essai-grep" dans le répertoire d’accueil (home directory).
2. Dans ce répertoire, créer les fichiers suivants : tomate, poire, pomme, cerise, Fraise, fraise,
9
.
courgette,POMME3, afraise.
3. Lister les fichiers (sortie de la commande ls redirigée vers grep) avec les critères suivants
4. Copier le fichier /etc/passwd dans le home directory. Afficher la ligne commençant par le
nomd’utilisateur user1.
5. Dans le nouveau fichier passwd, afficher les lignes commençant par des noms d’utilisateurs
necontenant pas de chiffre.
6. Dans le même fichier passwd, afficher les lignes commençant par des noms d’utilisateurs de 3
ou 4caractères.
Activité 4 : find
1. Chercher dans toute l'arborescence les fichiers qui répondent aux critères suivants. Rediriger
leserreurs vers le fichier poubelle /dev/null.
a) les fichiers dont le nom se termine par la chaîne .c.
2. Chercher dans /usr les fichiers dont la taille dépasse 1Mo (2000 blocs de 500Ko) et dont les
droitssont fixés à 755 (rwx r-x r-x).
3. Combien de fichiers y-a-t-il dans toute l'arborescence appartenant à user1 et ayant les droits
fixés à666 (rw- rw- rw-).
4. Trouver tous les fichiers core dans l'arborescence et les supprimer.
10
.
Si on ajoute & derrière la commande, ceci permet de lancer un processus en arrière plan.
Le Shell n’attend plus la fin de son exécution. On dit qu’il lance la commande en arrière plan. Lorsqu’un
utilisateur lance un processus en arrière plan, le Shell affiche entre crochets le numéro de tâche (job) et
le PID du processus. Le premier processus lancé aura un numéro de tâche = 1.
3.1. La commande ps
La commande ps (process) liste les processus de l'utilisateur. L'option -e affiche tous les processus en
cours d'exécution sur un ordinateur et les options –l et –f affichent des informations détaillées. Ainsi,
la commande produit une sortie semblable à :
C au facteur de priorité : plus la valeur est grande, plus le processus est prioritaire
11
.
Un processus peut recevoir plusieurs signaux engendrés par la commande kill, ou bien par l’utilisateur
en frappant sur des touches du clavier ou causés par des erreurs matérielles ou logicielles. L’utilisateur
peut utiliser des touches pour tuer un processus en avant plan en cliquant sur CTRL^C ou le suspendre
en cliquant CTRL^Z.
La commande kill permet d’envoyer un signal à un processus, et ce signal est identifié par un numéro.
Contrairement à ce que son nom semble indiquer, le rôle de cette commande n’est pas forcément de
détruire ou de terminer un processus, mais d’envoyer des signaux aux processus.
kill [-l] -Num_signal PID1 [PID2...] Le
signal est l’un des moyens de communication entre les processus. Lorsqu’on envoie un signal à un
processus, celui-doit doit l’intercepter et réagir en fonction de celui-ci. Certains signaux peuvent être
ignorés, d’autres non.
Les signaux sont numérotés et nommés, la liste des signaux peut être visualisée en appliquantl’option
–l à la commande kill.
Lancer la commande kill -l. Interpréter les résultats
La commande jobs permet d’afficher la liste des tâches du Shell courant (suspendus ous’exécutant en
12
.
tâche de fond) avec leurs numéros de tâches, les PIDs et les états des processus.
3.4. La commande fg
fg %n
n désigne le numéro de tâche.
3.5. La commande bg
bg %n
n désigne le numéro de tâche.
▪ sleep : fait une pause pendant une durée correspondant à la somme des valeurs indiquées sur la ligne de
commande. Chaque argument est composé d'un nombre suivi éventuellement d'une unité (s, m, h, d).
Exemples
sleep 10; ps => cette commande va lancer une commande ps 10s après la validation (touche entrée).
Lancer les commandes suivantes. Interpréter les résultats.
sleep 1m, ps => pareil mais pour une minute
sleep 1h, ps => pareil mais pour une heure
sleep 1d, ps => pareil mais pour un jour.
La commande top vous permet d'afficher des informations en continu sur l'activité du système. Elle
permet surtout de suivre les ressources que les processus utilisent (quantité de RAM,pourcentage de
CPU, la durée de ce processus depuis son démarrage). Pour quitter l’utilitaire top, il suffit
d’appuyer sur la touche "q".
La commande time mesure les durées d’exécution d’une commande, idéale pour connaître l e s temps
13
.
system : durée du temps CPU nécessaire pour exécuter les commandes liées àl’OS
(appels système au sein d’un programme).
Si le résultat est inférieur à 10, la machine dispose de bonnes performances, au-delà de 20 lacharge
de la machine est trop lourde (performances basses).
1) Lancer, dans la deuxième session, une commande dont l’exécution dure longtemps (exemple : cat sans paramètre)
i. A partir de la première session, déterminer le numéro de processus (PID) correspondant à la commande lancée
puis lancer les commandes :
kill –9 PID
ps -af
ii. Interpréter les résultats
Exercice 2 : Exécution au premier plan et en arrière-plan
1) Lancer la commande cat (sans paramètre), puis ouvrir une autre session et lancer la commande ps –af
2) Essayer de suspendre l’exécution du processus cat en tapant CTRL Z. Noter le numéro de
travail
3) Lancer ensuite la commande cat > fic puis essayer de suspendre son exécution. Noter le
numéro de travail
4) Taper bg numjob dont numjob est le numéro de travail de la commande cat. Interpréter le
résultat
5) Taper fg numjob dont numjob est le numéro de travail da la commande cat > fic puis
terminer son exécution par un CTRL C. Interpréter le résultat
6) Revenir à la deuxième session ouverte et tuer le processus de la commande cat
15