<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link REL="STYLESHEET" TYPE="text/css" TITLE="Style DILIB" HREF="../../dilib.css"> <title>Travaux Pratiques (Rappels) - UNIX</title> <style type="text/css"> Q { font-style: italic; } TABLE { text-align: center; } .attention { font-style: italic; } .remarque, .exemple, .remarque_suite { font-size: smaller; } .remarque { margin-bottom: 2; } .remarque_suite { margin-bottom: 2; margin-top: 0; } .remarque:before { content: "REMARQUE :"; } .exemple:before { content: "Exemple : "; } .attention:before { content: "ATTENTION :"; } .solution { display: none; } .reponse { font-style: italic; } </style> <script language="JavaScript1.2" type="text/javascript"> /* nom du fichier contenant le corrigé équivalent à celui de ce fichier */ var corrige='corrigesRappels.fre.html'; function Montrer(divId) { if(document.getElementById && document.styleSheets) { document.getElementById(divId).style.display='block'; document.getElementById("action"+divId).style.display='none'; } } function Cacher(divId) { if(document.getElementById && document.styleSheets) { document.getElementById(divId).style.display='none'; document.getElementById("action"+divId).style.display='block'; } } function EcrireBouton(divId) { if(document.getElementById && document.styleSheets) { document.writeln(' <div id="action'+divId+'" " style="font-size: smaller;">'); document.writeln(' <a href="javascript:Montrer(\''+divId+'\');">Voir la solution</a>'); document.writeln(' <p></p>'); document.writeln(' </div>'); } else { document.writeln(' <p style="font-size: smaller;"><a href="'+corrige+'#'+divId+'">Voir la solution</a></p>'); } } </script> <link rel="copyright" href="http://www.inist.fr/"><link rel="author" href="http://dilib.inist.fr/membres.html"><link rel="chapter" href="caracteristiques.fre.html" title="UNIX"><link rel="chapter" href="X.fre.html" title="X Window"><link rel="chapter" href="redirPipes.fre.html" title="Rappels"><link rel="chapter" href="newCommandsUser.fre.html" title="Commandes UNIX"><link rel="chapter" href="shellVars.fre.html" title="Shell"><link rel="chapter" href="sed.fre.html" title="Sed"><link rel="chapter" href="make.fre.html" title="Make"><link rel="index" href="http://dilib.inist.fr/dilib/v04Main/IndexSite/Server/FR.resource.index.html"><link rel="top" title="Accueil de DILIB" href="http://dilib.inist.fr/dilib/v04Main/"><link rel="alternate" title="English version" href="tpRappels.eng.html"><link rel="up" href="index.fre.html" title="Tutorial UNIX / Shell"> <link rel="section" href="redirPipes.fre.html" title="Redirections"><link rel="section" href="commandesBase.fre.html" title="Base"><link rel="section" href="tpRappels.fre.html" title="TP"> <link rel="first" href="caracteristiques.fre.html" title="Caractéristiques d'UNIX"> <link rel="previous" href="commandesBase.fre.html#wm" title="Base"> <link rel="next" href="newCommandsUser.fre.html" title="Commandes UNIX"> <link rel="last" href="tpRappels.fre.html" title="Travaux Pratiques"> </head> <body> <h1>Travaux Pratiques (Bases)</h1> <div id="navcontainer"> <ul id="navlist"> <li><a href="caracteristiques.fre.html">UNIX</a> </li> <li><a>Bases</a> <ul id="subnavlist"> <li><a href="redirPipes.fre.html">Redirections</a></li> <li><a href="commandesBase.fre.html">Base</a></li> <li><a href="tpRappels.fre.html" id="subcurrent">TP</a></li> </ul> </li> <li><a href="newCommandsUser.fre.html">Commandes</a> </li> <li><a href="shellVars.fre.html">Shell</a> </li> <li><a href="sed.fre.html">Sed</a> </li> <li><a href="make.fre.html">Make</a> </li> </ul> </div> <div class="content"> <p> L'objectif de cette première session de TP est de préparer votre environnement de travail en même temps que de réviser rapidement quelques notions de base. </p> <h3>Préparation de votre environnement de travail</h3> <ul> <li> Créez les répertoires <code>Formation</code> et <code>Formation/UnixShell</code> sous votre <code>home directory</code> (avec contrôle du contenu des répertoires à chaque étape avec <code>ls</code> ou <code>ll</code> qui est un alias). <script type="text/javascript"> EcrireBouton('mkdir'); </script> <div class="solution" id="mkdir"> <a href="javascript:Cacher('mkdir');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr> <td style="text-align:left"> mkdir Formation<br> ls<br> <span class="reponse">... Formation ...</span><br> mkdir Formation/UnixShell<br> ls Formation<br> <span class="reponse">... UnixShell ...</span> </td> </tr> </table> </div> </li> <li> Déplacez-vous dans le répertoire <code>UnixShell</code> en une étape et vérifiez le répertoire courant. <script type="text/javascript"> EcrireBouton('cd'); </script> <div class="solution" id="cd"> <a href="javascript:Cacher('cd');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr> <td style="text-align:left"> cd Formation/UnixShell<br> pwd<br> <span class="reponse">/ ... /Formation/UnixShell</span> </td> </tr> </table> </div> </li> </ul> <h3>Utilisation de quelques commandes Unix de base</h3> <ul> <li> Visualisez l'historique de votre session, avec affichage en sortie standard. <script type="text/javascript"> EcrireBouton('h'); </script> <div class="solution" id="h"> <a href="javascript:Cacher('h');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr> <td style="text-align:left"> history<br> <span class="reponse">...<br> 1 mkdir Formation<br> 2 ls<br> 3 mkdir Formation/UnixShell<br> ...</span> </td> </tr> </table> </div> </li> <li> Récupérez votre historique dans un fichier <code>historique.txt</code>. <script type="text/javascript"> EcrireBouton('redir'); </script> <div class="solution" id="redir"> <a href="javascript:Cacher('redir');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr><td>history > historique.txt</td></tr> </table> </div> </li> <li> Affichez à l'écran le contenu de ce fichier <code>historique.txt</code>. <script type="text/javascript"> EcrireBouton('more'); </script> <div class="solution" id="more"> <a href="javascript:Cacher('more');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr><td>more historique.txt</td></tr> </table> </div> </li> <li> Comptez le nombre de lignes de ce fichier. <script type="text/javascript"> EcrireBouton('wc'); </script> <div class="solution" id="wc"> <a href="javascript:Cacher('wc');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr> <td style="text-align:left">wc -l historique.txt<br> <span class="reponse">16 historique.txt</span> (par exemple) </td> </tr> </table> </div> </li> <li> Affichez les 3 premières lignes du fichier historique de deux façons : <ul> <li> avec une redirection en entrée de la commande appropriée <script type="text/javascript"> EcrireBouton('head'); </script> <div class="solution" id="head"> <a href="javascript:Cacher('head');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr><td>head -3 < historique.txt</td></tr> </table> </div> </li> <li> avec un pipe pour enchaîner les deux commandes appropriées <script type="text/javascript"> EcrireBouton('pipe'); </script> <div class="solution" id="pipe"> <a href="javascript:Cacher('pipe');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr><td>cat historique.txt | head -3</td></tr> </table> </div> </li> </ul> </li> <li> Renommez le fichier <code>historique.txt</code> en <code>monHistorique.txt</code> <script type="text/javascript"> EcrireBouton('mv'); </script> <div class="solution" id="mv"> <a href="javascript:Cacher('mv');" style="font-size: smaller;">Cacher la solution</a> <table border="1" class="commands" style="margin-left:0;"> <tr><td>mv historique.txt monHistorique.txt</td></tr> </table> </div> </li> </ul> </div> <hr> <address><a href="mailto:philippe.houdry@inist.fr">Philippe.Houdry@inist.fr</a></address> </body> </html>