4Informatique  4Système informatique 4Clavier & Souris 4 Ms DOS 4Windows XP 4Vista 4UNIX 4 LUNIX 4Word 4Excel 4PowerPoint 4Internet 4XLOGO

Cours et TP accessibles ici :        http://perso.ensg.ign.fr/duhem/cours/UNIX/

Utiliser le logiciel « Tera Term Pro » pour vous connecter :

- choisir le Service « Telnet » (port 23) et le serveur « heitor »

- utiliser le login « userN » et le mot de passe « pipoN » où N est le numéro qui vous est assigné.

TP1: Notions générales

Objectifs :                  se familiariser avec l'utilisation du manuel de référence

 

1. En utilisant le manuel de référence, trouver la commande cp. Quelle est sa fonction ?

 

2. En utilisant le manuel de référence, trouver la commande mv. Quelle est sa fonction ? Comment l'avez-vous trouvé ?

 

 

TP2: Quelques commandes simples

 

1. En utilisant les commandes who et  who am i, répondez aux questions suivantes:

            Qui est connecté sur le système?

            Sur quel terminal êtes-vous connecté?

            Comment êtes-vous identifié par le système?

            Quelles commandes avez-vous utilisées?

 

2. Modifiez votre mot de passe. Pensez aux caractéristiques des mots de passe.

 

3. Tapez les commandes suivantes et vérifiez les résultats:

     echo Bonjour tout le monde

     echo Bonjour Bernard

     echo "Bonjour Bernard"

     echo

 

4. Est-ce qu'un autre utilisateur du système peut envoyer des messages sur votre terminal ?

 Quelle commande avez-vous utilisée pour le savoir?

 

5. Envoyez un message écran à un des stagiaires. Essayez d'établir une conversation.

 

6. Comment imprimez le contenu du fichier new.jersey sur l’imprimante cubitus ?

Pour ce faire, il vous faudra consulter le manuel sur lp (ne pas réellement lancer l’impression).

 

7. Exécutez la commande date en spécifiant un format de sortie du type:          22/12/2006

 


 

TP3: Le système de fichier

1. Créer un dossier dans votre home directory. Appelez-le essai et placez-vous y.

 Quel est le chemin absolu de ce nouveau dossier ?

 

2. Revenez dans votre home directory. Affichez toute l’arborescence en utilisant la commande ls. Dessinez cette structure en représentant les dossiers par des cercles. Faites attention, les noms de fichier et dossier n’en sont pas toujours !!!

 

3. Quel est le chemin d'accès absolu du fichier f1 que vous avez trouvé dans la question précédente ?

 Quel est son chemin d'accès relatif à partir de votre home directory ?

 

4. A partir de votre home directory, placez-vous dans le dossier arbre/sous_dir1/fichier1. Puis, à l'aide d'un chemin d'accès relatif, placez-vous dans le dossier arbre/sous_dir3/fichier4/d2. De nouveau, à l'aide d'un chemin d'accès relatif, placez vous dans le dossier arbre/sous_dir3/fichier5. Enfin, retournez dans votre home directory. Quelles commandes avez vous utilisées ? Comment faire pour vérifier si on se trouve vraiment dans le dossier souhaité ?

 

5. A partir de votre home directory, créez les dossiers suivants sur une seule ligne de commande:

     essai/dirB/dir1

     essai/dirB

     essai/dirB/dir2

     essai/dirB/dir1/dirC

Avez-vous rencontré des problèmes ?

 

6. A partir de votre home directory, en utilisant seulement une commande rmdir, supprimez toutes les sous-dossiers du dossier essai . Comment peut-on faire ceci en utilisant la commande rm ?

 

 

TP4: Commandes de manipulation de fichiers

Objectifs du TP

savoir utiliser les commandes de manipulation des fichiers les plus courantes

Enoncé

1. Utiliser la commande cat pour visualiser le contenu du fichier fable.

 Que notez vous ? Quelle serait la manière plus judicieuse d'opérer ?

 

2. Utiliser la commande cat pour visualiser le contenu de la directory arbre.

 Que notez vous ? Quelle est la bonne façon de visualiser le contenu d'une directory ?

 

3. Utiliser la commande cat pour visualiser le contenu du fichier ma_cmde.

 Que notez vous ? Essayez avec la commande more. Y a t'il une différence ?

 

4. Faire une copie du fichier fable appelée copiefable. Quelle commande avez vous utilisée ?

 Changer le nom de la copie effectuée en fable.B. Quelle commande avez vous utilisée ?

 


 

5. Créez un lien symbolique entre le dossier arbre, et le nouveau mon_arbre. Quelle commande avez-vous utilisé ? Visualisez le contenu des dossiers arbre et mon_arbre. Y a-t-il une différence ?

 

6. Supprimez les fichiers fable.B, ma_cmde et mon_arbre en une seule commande.

 

7. Allez dans votre HOME directory. Copier le fichier noms dans un fichier noms.cp.

 Visualisez le deux fichiers et vérifiez qu’ils sont identiques.

 

8. Recréez le répertoire essai. Utilisez une seule commande de copie pour copier dans le dossier essai les fichiers :

     son_fichier

     mon_fichier

     notre_fichier

     noms

Vérifier le bon résultat de l’opération. Quelle commande avez-vous utilisé ?

 

9. Déplacer le fichier mon_fichier de votre HOME directory vers le dossier essai en le renommant son_fichier. Quelle commande avez vous utilisée ? Qu'en est il du fichier essai/son_fichier qui existait ?

 

10. Allez dans le dossier essai. Déplacez les fichiers notre_fichier et noms dans la directory arbre/sous_dir2. Quelle commande avez vous utilisée ?

 

11. Retournez dans votre HOME directory. Linkez le fichier noms dans le dossier essai. Vérifiez cette opération. Quelle commande avez vous utilisé ?

 

12. De votre HOME directory, purgez tous les fichiers de la directory essai en une seule commande. Quelle commande avez vous utilisé ?

 

 

TP5: Permissions sur les fichiers

Objectifs du TP:

Déterminer les propriétaires et groupes associés à un fichier, et pouvoir les changer

Enoncé

1.    Qui est le propriétaire du fichier notre_fichier dans votre HOME directory ? A quel groupe appartient-il ?

 Qui est autorisé à changer le propriétaire et le groupe ?

 

2.    Quelle est la commande permettant d'attribuer la propriété du fichier notre_fichier à votre partenaire ? Effectuez la manipulation. Rencontrez vous un problème ? Donnez lui alors le groupe users

 

3.    Faites une copie du fichier notre_fichier de votre HOME directory. A qui appartient la copie ?

     Faites une copie du fichier notre_fichier de votre partenaire. A qui appartient cette copie ?

   Comment changer les permissions de cette dernière copie afin que votre partenaire puisse modifier celle-ci ?

 

4.    Changer les protections du fichier son_fichier de votre HOME directory, de manière à ce que le propriétaire puisse lire et écrire, les membres du groupe puissent lire, et que les autres ne puissent rien faire avec ce fichier. Quelle commande a été utilisée ?

 

5. De votre HOME directory, copier le fichier son_fichier dans la directory /bin. Avez vous des problèmes ?

 

 

TP6: Ajouts,déplacements,et effacements

Objectif du TP:

Manipuler aisément les commandes d'ajout ,d'effacement et de contrôle du curseur .

Enoncé:

Utilisez vi pour éditer un fichier nommé exovi.1 dans votre HOME directory. Effectuez les différents exercices et répondez aux questions posées.

 

1. Saisissez sous vi le texte suivant :

 

vi est l'editeur le plus repandu dans le monde Unix.

vi n'est pas forcement facile a apprendre;

par contre il est tres puissant . vi a la caracteristique

de pouvoir fonctionner sur tout type de materiel Unix quel

qu'en soit le fabricant . vi possede des fonctions tres avancees

que nous n'etudierons pas dans ce cours

 

Déplacer le curseur sur la première occurrence du mot "Unix".

Effacer le mot " Unix " et insérer le mot "informatique"

 

Corriger le texte de la façon suivante :

 

Changer "forcement" en "obligatoirement" en ligne 2.

Changer "materiel" en "terminaux" en ligne 4.

Changer"fabricant" en "fournisseur" en ligne 5. 

Changer "fonctions" en "capacites" en ligne 5.

 

2. Positionner le curseur n'importe où sur la troisième ligne.

Comment détruisez vous le texte entre la position du curseur et:

 

La fin du fichier ?                     _________________

La fin de la ligne courante ?                  _________________

Le haut de l'écran ?                  _________________

 

3. Comment déplacez vous le curseur sur

 

Le début du mot suivant ?                    _________________

Le début du mot précédant ?               _________________

Le début du quatrième mot suivant ?    _________________

 

 


 

TP7: changer, chercher du texte et manipulations de fichiers .

Objectif du TP:

Manipuler aisément les commandes de recherche, changements ainsi que les commandes de manipulation de fichiers.

Enoncé:

Quitter la session de travail dans laquelle vous vous trouvez ( :q!). Démarrez une nouvelle session en éditant le fichier new.jersey dans votre HOME directory . Puis effectuez les points suivants:

 

1. Changer toutes les occurrences de "like" par "hate" .

 

2. Ecrire les 10 premières lignes du fichier dans un fichier nommé New.10 .

 

3. Allez en dernière ligne du fichier

 

4. Positionnez vous au milieu de l'écran depuis la position courante, puis insérez le texte suivant:

 

Ce fichier est completement absurde !

 

5. Sauver ainsi le fichier sans sortir de vi .

 

6. Sans quitter vi charger le fichier New.10, en écrasant le contenu actuel du tampon de travail .

 

7. Cherchez une occurrence de "LIKE" dans le fichier .

 

8. changer "LIKE" dans le titre en "HATE" .

 

9. Enfin sauvegardez le fichier et sortez de l'éditeur .

 


 

TP8: déplacements et copies de texte

Objectifs du TP:

Manipuler aisément les commandes de déplacements et copies de texte, configurer correctement les options de ex et utiliser les expressions régulières.

Enoncé:

Identifiez le fichier appelé "frankenstein" et effectuez les actions suivantes sur ce fichier:

 

1. Initialisez les options de numérotation et d'indication du mode de travail avec les options de ex, number et showmode .

 

2. Déplacez les six premières lignes et placez les à la fin du fichier.

 

3. Effectuez une copie des dix premières lignes et placez cette copie à la fin du fichier .

 

4. Cherchez toutes les occurrences de la chaine "like" ou "Like" et en utilisant cw, n et . changez toutes ces occurrences sauf une, en "XXXXXX" .

 

5. Sauvegardez le fichier et quittez l'éditeur .

 

 

TP9: Le Shell

Objectifs du TP:

Se familiariser avec le shell en étudiant les variables et les commandes associées.

Enoncé

1. Affectez votre prénom à une variable appelée XXX . comment vérifiez vous le contenu de la variable ?

 

2. Lancer un shell fils en tapant sh. Afficher XXX à nouveau. Que se passe-t-il ? maintenant tuez le shell-fils en tapant CTRL-D . Qu'advient-il de XXX ?

 

3. Quelle commande faut-il taper pour que le shell-fils voie la variable XXX ? Comment, depuis le shell-père, voir toutes les variables dont le shell héritera ?

 

4. Démarrer un autre shell-fils. Chercher la variable XXX . Maintenant, affecter à la variable XXX votre nom de famille. Est ce que XXX est une variable locale, ou de l'environnement ? Afficher les variables de l'environnement. Quelle est la valeur de XXX ?

 

5. Maintenant, enlever la variable XXX du shell-fils. XXX existe-t-elle encore en local ou dans l'environnement ? Pourquoi ?

 

6. Tuer le shell-fils. XXX existe-t-il encore? Pourquoi ? Quelle commande utilisez-vous ?

 


 

TP10: Exécution d'une commande

Objectifs du TP

Visualiser les éléments influant sur le Shell lors de l'exécution d'un programme. Familiariser le stagiaire avec les commandes permettant de suivre l'exécution d'un processus.

Enoncé

1. Où est localisée la commande date dans le système  ?

 

2. Où est localisée la commande tar dans le système ?

 

3. Où est localisée la commande cd dans le système ? Expliquez les résultats de la recherche.

 

4. Où est localisée la commande banner dans le système ? Expliquez les résultats de la recherche.

 

5. Utilisez la commande find pour trouver un fichier nommé fichier3. Effectuez la recherche à partir de votre directory de login. Quelle commande avez vous tapé ?

 

6. La commande id affiche votre group-id et votre user-id. Vous travaillerez avec un autre stagiaire, utilisant un autre nom d'utilisateur, et utiliserez les commandes appropriées pour obtenir son user-id.

 

7. Quels sont les processus VOUS APPARTENANT en cours d'exécution sur le système ? Quelle commande utilisez-vous ?

 

8. Quels sont les processus en cours d'exécution sur le système ? Quelle commande utilisez vous ?

 

 

 

TP11: La génération des noms de fichiers

Objectifs du TP

Se familiariser avec l'utilisation des métacaractères pour éviter de la frappe.

Enoncé

1. La commande touch permet de créer un fichier (syntaxe: touch nomfichier). Dans une sous-directory vide (à créer éventuellement), créez des fichiers dont les noms vérifient les conditions suivantes:

 

La chaine ?.XX masque exactement deux noms de fichiers.

La chaine *XX masque exactement trois noms de fichiers.

La chaine XX.?? masque exactement un nom de fichier.

La chaine XX.* masque exactement deux noms de fichiers.

La chaine ?XX masque exactement un nom de fichier.

 

Visualisez vos résultats avec la commande echo.

 

2. Enlevez tous les fichiers créés précédemment avec une seule commande rm.

 

3. Expliquez le résultat de la commande ls *

 

4. Que se passe t-il quand la commande echo ???xx affiche comme résultat ???xx ?

 

5. Dans votre directorie de login, quels seront les résultats des commandes suivantes:

Vérifiez votre estimation.

 

            a. echo *.c

            b. echo m[n-s]*.?

            c. echo ??????

            d. echo *[0-9]*

            e. echo *file

 

 

 

TP12: La redirection d'entrée / sortie

1. Redirigez la sortie de la commande "date" vers un fichier "date.out" de votre directory d'accueil.

 

2. Ajoutez la sortie de la commande "ls" au fichier "date.out". Vérifiez le contenu du fichier "date.out".

 

3. En utilisant la redirection d'entrée, envoyez le message contenu dans le fichier "date.out" à votre partenaire.

 

4. Exécutez la commande "cp" sans argument. Que se passe t-il ? Maintenant, essayez de rediriger la sortie de cette commande vers le fichier "cp.out". Que se passe t-il ? Que faut-il faire pour rediriger le message d'erreur vers un fichier "cp.err" ?

 

5. Triez le fichier "/etc/passwd" sur le troisième champ. Que se passe t-il ? Maintenant, réalisez un tri numérique sur le troisième champ. Y a t-il une différence ?

 

6. Redirigez la sortie de la commande

 

grep "user[0-9][0-9]*" < /etc/passwd

 

vers un fichier "grep.out". Puis compter le nombre de lignes contenues dans ce fichier. Combien y en a-t-il ?

 

7. En suivant le même principe, combien y a-t-il d'utilisateurs connectés sur le système

 

8. Combien y a t-il de comptes utilisateurs configurés dans le système ?

 

9. Triez le fichier noms et sauvegardez le résultat dans un fichier noms.tri.

Triez ensuite le fichier dans l'ordre inverse et sauvegardez le résultat dans le fichier initial.

Quelles commandes avez-vous utilisées ?

 

10. Avancé. Combien de fichiers ordinaires avez-vous dans votre directory d'accueil ? Quelles commandes avez-vous utilisées ?

 


 

TP13: Les tubes

1. Construire un tube comptant le nombre de lignes du fichier "/etc/passwd" qui contiennent une chaine de caractères de format "user[0-9][0-9]*". Compter ensuite le nombre de lignes qui ne contiennent pas de chaine de ce type.

 

2. Construire un tube comptant le nombre d'utilisateurs connectés à l'instant présent.

 

3. Construire un tube affichant la liste triée des fichiers ( et dossiers ) de votre dossier courant. Afficher cette liste sur trois colonnes sans message d'en-tête ni de fin.

 

4. Construire un seul tube produisant une version non triée du fichier "fable" dans un fichier "fable.out" et une version triée dans un fichier "fable.tri". Vérifier le résultat par la commande "cat".

 

5. Construire un tube imprimant une liste triée des fichiers de votre dossier (ne pas lancer l’impression ;-D ). Cette liste devra présenter des numéros de lignes et être imprimée par pages de 10 lignes avec saut de page. Indication: utiliser les options de la commande "pr".

 

6. Construire un tube affichant les usernames des utilisateurs connectés à l'instant présent.

 

7. Construire un tube affichant les noms et propriétaires de tous les processus actifs à l'instant présent.

 

8. Construire un tube faisant une impression de la structure de votre dossier avec sauvegarde parallèle de cette structure dans un fichier.

 

 

 

 

TP14: Les quotes et les caractères spéciaux

 

1. Saisissez une commande "echo" qui produise le résultat suivant:

     $1 million dollars ... ca c'est une aubaine !

 

2. Utilisez un mécanisme d'échappement pour rechercher le caractère * dans le fichier "/etc/passwd".

 

3. Pourquoi la commande             echo '$abc'

produit le résultat                     $abc

alors que                                 echo "$abc"

produit une ligne blanche ?

 


 

TP15: Le multi-tâches

Objectif du TP

Manipuler aisément les commandes d'arrière plan ainsi que nohup, kill et ps .

Enoncé:

1. Tapez la commande suivante:                       ls -R / > /dev/null 2>&1 &

 

Ensuite exécutez la commande “ps -f -u uid”. Notez le PID ainsi que le PPID du process ls. Maintenant déconnectez-vous, reconnectez-vous et exécutez la commande “ps -f -u uid ”. Où est le process ls ?

 

 

2. La commande nohup immunise un process contre la mort de son process-père. Essayez la commande suivante:

 

nohup ls -R / > /dev/null 2>&1 &

 

Maintenant déconnectez-vous, reconnectez-vous et exécutez la commande “ps -f -u uid ”.

Qui est le process-père de ls ?

 

 

3. Définissez une variable appelée rep équivalent au nom du répertoire courant. Comment obtenir le nombre de caractères contenus dans cette variable ?

 

 

4. Déplacez vous dans le dossier $HOME/arbre/sous_dir3/fichier4/d2. Définissez une variable appelée prep équivalente au répertoire courant . Maintenant retournez dans votre home directory .

Quelles commandes avez-vous utilisé, et comment pouvez-vous retourner dans le dossier d2 en utilisant la variable prep.

 

 

5. Définissez une variable appelée qui_est_la équivalente à la liste triée des utilisateurs connectés.

Quelle commande utiliseriez vous ?

 

 

6. Exécutez les deux commandes suivantes . En quoi sont elles différentes ?

 

date;pwd;echo bonjour &

 

(date;pwd;echo bonjour ) &

 


 

TP16: Introduction à la programmation du Shell

Objectif.

Mettre en pratique divers points et commandes utilisés dans la programmation du shell.

Enoncé

Résoudre les exercices suivants:

 

1. Sachant que la commande de lancement du programme shell est:

$ monprogshell abc def -d -4 + 900 xyz

 

qu'est ce qui sera affiché si le programme contient:

     echo $#

     echo $3

     echo $7

     echo $*

     echo $0

 

2. Si le progrmme shell lancé par la commande précédente contenait la commande shift 2 en première ligne, quel serait le résultat de:

     echo $#

     echo $3

     echo $7

     echo $*

     echo $0

 

3. Quelle serait la sortie du programme shell suivant si, quand on le sollicite, l'utilisateur répond:

Dupont 69 Super Dupont

 

programme Shell:

 

     echo "entrez votre nom, âge et surnom"

     read nom age surnom

     echo "$nom,$age,$surnom"

 

4. Ecrivez un programme shell appelé "inverse" qui recevra jusqu'à neuf arguments et les affichera dans l'ordre inverse.

 

5. Ecrivez un programme shell appelé "monecho" qui réalisera:

            a. L'affichage du nombre d'arguments saisis (Considérons un maximum de neuf arguments).

            b. L'affichage des trois premiers arguments sur 3 lignes différentes.

 

Quelle liste d'arguments produirait la sortie suivante?

 

annie aime

les sucettes

les sucettes a l'anis

 

6. Ecrivez un programme shell appelé "alpha" qui affichera le premier et le dernier argument de la ligne de commande.

 

 

7. Ecrivez un programme shell appelé "info" qui demandera à l'utilisateur son

            a. Nom.

            b. Adresse et rue.

            c. Ville, département et code postal.

Le programme enregistrera les réponses dans des variables qu'il affichera ensuite.

 

8. Ecrivez un programme shell appelé "double" qui demandera un nombre entier et affichera son double.

 

9. Ecrivez un programme shell appelé "home" qui demandera le nom d'utilisateur et affichera sa home directory.Rappellez vous que la home directory est le sixième champ du fichier /etc/passwd.

 

10. Ecrivez un programme shell appelé "horloge" qui:

            a. Extraira les heures, minutes et secondes de la commande date.

b. Affectera ces valeurs à des variables.

c. Affichera:          "Il est hr heure min minutes et sec secondes."

 

 

 

 

 

 

 

 

 

 

TP17: Programmation du shell - Branchements

Objectifs du TP

Utiliser les commandes de branchement test, if et case dans des programmes shell.

Enoncé

Résolvez les exercices suivants et répondez aux questions associées.

 

1. Positionnez une variable appelée X à la valeur abc. Saisissez ensuite une commande de test interactive positionnant un code de retour de 0 si la valeur de X est abc et une valeur non nulle sinon.Vérifiez la valeur du code de retour avec une commande echo.

 

2. Créez une construction interactive if qui affichera oui si X est égal à abc et non sinon.

 

3. Ecrivez un programme shell qui compte le nombre d'arguments de la ligne de commande et affiche un message d'erreur s'il n'y a pas exactement trois arguments et affiche les arguments s'ils sont trois.

 

4. Ecrivez un programme shell demandant à l'utilisateur de saisir quelque chose et réalise l'une des trois actions suivantes:

            Si un A a été saisi, le programme affiche "A saisi"

            Si un B a été saisi, le programme affiche "OK".

            Si un C a été saisi, le programme s'arrête.

 

 

5. Ecrivez un programme shell réagissant aux arguments de la ligne de commande comme suit:

 

- Si le premier argument de la ligne de commande est -a, une chaine de caractères sera demandée à l'utilisateur.

- Si cette chaine est D, il exécute la commande date sinon exécute la commande ls.

- Si le premier argument de la ligne de commande est -b, un nombre sera demandé à l'utilisateur.Le programme affichera le message approprié selon que ce nombre est supérieur à 100 ou inférieur ou égal à 100.

- Si le premier argument de la ligne de commande est -c , un nom de fichier sera demandé à l'utilisateur.Le programme précisera alors si ce fichier est un répertoire ou non.

- S'il n'y a aucun argument sur la ligne de commande ou si l'option n'est ni -a, ni -b, ni -c , le programme affichera un message d'erreur indiquant cette condition.

 

6. Modifiez le programme monecho du tp précédent de telle sorte que si l'un des trois premiers arguments manque, monecho affiche un message d'erreur à la place de l'argument.

 

Par exemple:

 

L'argument 1 manque!

L'argument 2 manque!

L'argument 3 manque!

 

7. Modifiez home du tp précédent de façon à ce qu'un message d'erreur soit affiché si le user_id est invalide.

 

8. Modifiez horloge du tp précédent pour que la valeur de l'heure soit affichée comme une horloge 12 heures (AM/PM).

 

9. (Avancé) Modifiez double du tp précédent pour que le programme shell vérifie:

 

- La saisie du caractère null.

- Une valeur non entière.

- La saisie de plus d'une valeur.

 

10. Ecrivez un programme shell appelé macopie qui recopiera un fichier en un autre.

Assurez vous de vérifier les points suivants:

 

            - La commande macopie est-elle utilisée correctement?

            - Les fichiers source et destination sont-ils les mêmes?

            - Le fichier source existe-t-il?

            - Le fichier destination existe-t-il? Dans l'affirmative, doit il être écrasé?

 


 

TP18: Programmation du shell - Boucles

Objectifs du TP

Mettre en pratique les différentes constructions de boucle du shell.

Enoncé

Résoudre les exercices suivants et répondre aux questions associées.

 

1. Ecrivez une boucle interactive for pour envoyer, via write, le fichier fable de votre HOME directory à toute personne connectée sur le système.

 

2. Ecrivez un programme shell permettant d'afficher, un par ligne, les arguments de la ligne de commande.

 

3. Ecrivez un programme shell permettant d'afficher la phrase "je suis intelligent" 100 fois. N'utilisez pas une boucle for !

 

4. Ecrivez un programme shell permettant de compter les options (arguments débutant par "-") de la ligne de commande et de compter le nombre de paramètres (tous les autres arguments).

 

5. Ecrivez un programme shell appelé connect exécuté en arrière plan (background) qui vérifiera toutes les 60 secondes si un utilisateur spécifique s'est connecté sur le système.Dans l'affirmative, le programme affichera sur votre terminal:

            - le fait qu'il se soit connecté

- le terminal sur lequel il s'est connecté.

(cf commande sleep).

 

6. Créez un répertoire appelé $HOME/.poubelle.Ecrivez un programme shell appelé destruc qui déplacera tous les fichiers que vous détruisez dans le répertoire .poubelle, votre poubelle.

Ceci sera un instrument très utile qui vous permettra de récupérer des fichiers détruits.

 

Vous incluerez les options suivantes dans destruc:

            -l       Affichage du contenu de votre poubelle.

-r       Vidage de la poubelle.

 

7. Ecrivez un programme shell permettant de compter les options (arguments débutants par "-") et les paramètres (tous les arguments ne débutants pas par "-").

 

Avancé                        l'affichage des options et de leur nombre se fera sur une ligne, celui des paramètres et de leur nombre sur une autre.

 

Super-avancé              Triez les options et les paramètres avant de les afficher.