tuteurs.ens.fr/www/unix/exercices/enchainer.html

287 lines
14 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pipes</title>
<link rel="stylesheet" href="../../tuteurs.css" type="text/css" />
</head>
<body>
<div class="navigation">
<h1>Tuteurs informatique<br /><a href="../../meta/contact.html">Nous contacter</a></h1>
<hr />
<ul class="menu">
<li>
<a href="../../meta/charte_graphique.html">Utiliser ce site</a>
</li>
<li>
<a href="../../actualite.html">Actu et stages</a>
</li>
<li>
<a href="../../docs/">Docs à imprimer</a>
</li>
<li>
<a href="../../meta/plan_site.html">Plan du site</a>
</li>
<li>
<a href="../../search.html">Rechercher</a>
</li>
</ul>
<hr />
<ul class="arbre">
<li>
<a href="../../">Les tuteurs</a>
<ul class="arbre">
<li>
<a href="../">Unix</a>
<ul class="arbre">
<li>
<a href="./">Exercices</a>
<ul class="arbre">
<li>
<a href="contact.html">Prise de contact</a>
</li>
<li>
<a href="cp_mv.html">cp et mv</a>
</li>
<li>
<a href="enchainer.html" class="actuel">Pipes</a>
</li>
<li>
<a href="find.html">find</a>
</li>
<li>
<a href="grep.html">grep</a>
</li>
<li>
<a href="interface.html">Interface</a>
</li>
<li>
<a href="less.html">less</a>
</li>
<li>
<a href="ls.html">ls</a>
</li>
<li>
<a href="mkdir_cd.html">Répertoires</a>
</li>
<li>
<a href="solutions/">Solutions</a>
</li>
<li>
<a href="systeme.html">Système</a>
</li>
<li>
<a href="unix_deb.html">Commandes Unix</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<ul class="menu">
<li>
<a href="http://www.eleves.ens.fr/">Serveur des élèves</a>
</li>
<li>
<a href="http://www.ens.fr/">ENS</a>
</li>
<li>
<a href="http://www.spi.ens.fr/">SPI</a>
</li>
</ul>
</div>
<div class="corps">
<h1><em>Pipes</em>, jokers et redirections</h1>
<div class="sommaire">
<ul>
<li>
<a href="#cat">La commande <tt>cat</tt></a>
</li>
<li>
<a href="#jokers">Jokers et expressions régulières</a>
</li>
<li>
<a href="#germinal">Exercices sur <em>Germinal</em></a>
</li>
<li>
<a href="#headtail"><tt>head</tt> et <tt>tail</tt></a>
</li>
<li>
<a href="#syst">Filtres et redirections</a>
</li>
<li>
<a href="#yp">Exercices sur les pages jaunes</a>
</li>
<li>
<a href="#divers">Divers</a>
</li>
</ul>
</div>
<h2>
<a name="cat" id="cat">La commande <tt>cat</tt></a>
</h2>
<p>On n'a pas traité de la commande <tt>cat</tt> dans la page consacrée aux
commandes de base, parce que <tt>cat</tt> s'utilise le plus souvent avec des
redirections.</p>
<ol>
<li><a href="solutions/enchainer-sol.html#cat1"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment visualiser deux fichiers l'un après l'autre à l'aide de la commande
<tt>cat</tt> ?</li>
<li><a href="solutions/enchainer-sol.html#cat2"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment faire une copie d'un fichier sans utiliser <tt>cp</tt> ni ouvrir
d'éditeur de texte ?</li>
<li><a href="solutions/enchainer-sol.html#cat3"><img src="../../icones/solution.png" alt="Solution" /></a>
Utiliser <tt>cat</tt> pour écrire un peu de texte et mettre le résultat
dans un fichier <tt>notes</tt>.</li>
<li><a href="solutions/enchainer-sol.html#cat4"><img src="../../icones/solution.png" alt="Solution" /></a>
Quelle différence y a-t-il entre
<pre>
cat bla blo &gt; blu
</pre>
<p class="continue">et</p>
<pre>
cat bla blo &gt;&gt; blu
</pre>
<p>
Que se passe-t-il, pour chaque ligne, selon que le fichier <tt>blu</tt>
existe ou n'existe pas ?</p> </li>
<li><a href="solutions/enchainer-sol.html#cat5"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment obtenir un fichier <tt>blo</tt> qui corresponde à un fichier
<tt>bla</tt> dont les lignes seraient désormais numérotées ?</li>
</ol>
<h2>
<a name="jokers" id="jokers">Jokers et expressions régulières</a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#jokers1"><img src="../../icones/solution.png" alt="Solution" /></a>
Vous avez chez vous des fichiers appelés <tt>essai1</tt>, <tt>essai2</tt>,
<tt>essai3</tt> et <tt>essai4</tt>. Comment les effacer en une seule ligne
de commande ?</li>
<li><a href="solutions/enchainer-sol.html#jokers2"><img src="../../icones/solution.png" alt="Solution" /></a>
Dans mon répertoire d'accueil, j'ai un certain nombre de fichiers avec un
suffixe <tt>.c</tt>. Je désire les regrouper dans un répertoire que
j'appelerai <tt>C/</tt>. Quelles sont les commandes que je dois
taper ?</li>
<li><a href="solutions/enchainer-sol.html#jokers3"><img src="../../icones/solution.png" alt="Solution" /></a>
Vous désirez regrouper dans un répertoire <tt>Rangement</tt> les fichiers
dont le nom contient un caractère minuscule suivi d'un caractère majuscule.
Quelle(s) est/sont la/les commande(s) à donner ?</li>
<li><a href="solutions/enchainer-sol.html#jokers4"><img src="../../icones/solution.png" alt="Solution" /></a>
Même chose avec les fichiers dont le nom contient trois voyelles à la
suite.</li>
<li><a href="solutions/enchainer-sol.html#jokers5"><img src="../../icones/solution.png" alt="Solution" /></a>
En utilisant <tt>ls</tt> et <tt>grep</tt>, affichez la liste des fichiers
dans <tt>/bin</tt> dont le nom :
<ul><li> Commence par «a» et dont la deuxième lettre est «s» ou «t»;</li><li> Contient «un» et se termine par «t»;</li><li> Contient «gre» ou «st».</li><li> Contient exactement deux lettres «m»;</li><li> Contient au moins deux lettres «m»;</li><li> Contient au moins quatre caractères et aucun chiffre;</li><li> Est constitué de deux lettres exactement;</li><li> Commence et finit par un chiffre.</li></ul></li>
<li><a href="solutions/enchainer-sol.html#jokers6"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment éliminer les lignes vides dans un fichier ? Comment éliminer
les lignes ne contenant que des blancs ?</li>
</ol>
<h2>
<a name="germinal" id="germinal">Exercices sur <em>Germinal</em></a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#germinal1"><img src="../../icones/solution.png" alt="Solution" /></a> Combien de
fois le mot «mine» apparaît dans chaque chapitre de la première partie de
<em>Germinal</em> ?</li>
<li><a href="solutions/enchainer-sol.html#germinal2"><img src="../../icones/solution.png" alt="Solution" /></a>Combien y
a-t-il de lignes blanches dans <tt>zola1.txt</tt> ?</li>
</ol>
<h2>
<a name="headtail" id="headtail"><tt>head</tt> et <tt>tail</tt></a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#headtail1"><img src="../../icones/solution.png" alt="Solution" /></a> Affichez
les 15 premières lignes du fichier <tt>/etc/hosts</tt>, les 15 dernières
lignes, toutes les lignes à partir de la quinzième, les lignes 15 à 20.
<div class="attention"><h1><img src="../../icones/panneau_attention.png" alt="/!\" /> Attention <img src="../../icones/panneau_attention.png" alt="/!\" /></h1>
Placez-vous sur sas.eleves pour faire cet exercice. En effet, les
<tt>/etc/hosts</tt> des autres machines sont beaucoup plus petits (en
particulier peuvent faire moins de 15 lignes).
</div></li>
<li><a href="solutions/enchainer-sol.html#headtail2"><img src="../../icones/solution.png" alt="Solution" /></a> Récupérer
les lignes 5 à 9 d'un fichier de 12 lignes.</li>
<li><a href="solutions/enchainer-sol.html#headtail4"><img src="../../icones/solution.png" alt="Solution" /></a> Comment
afficher la cinquième ligne d'un fichier ?</li>
</ol>
<h2>
<a name="syst" id="syst">Filtres et redirections</a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#syst1"><img src="../../icones/solution.png" alt="Solution" /></a>
Créez un fichier dont chaque ligne commence par un chiffre, suivi d'un
slash (<tt>/</tt>), puis d'un ou plusieurs mots.
<ol><li> Affichez les lignes de ce fichier triées en ordre croissant, suivant
le nombre placé en début de ligne;</li><li> Éliminez de chaque ligne le chiffre et le caractère «<tt>/</tt>»;</li><li> Triez ces lignes par ordre alphabétique inverse.</li></ol></li>
<li><a href="solutions/enchainer-sol.html#syst2"><img src="../../icones/solution.png" alt="Solution" /></a> Combien de
fichiers de configuration avez-vous ?</li>
<li><a href="solutions/enchainer-sol.html#syst3"><img src="../../icones/solution.png" alt="Solution" /></a> Combien de
répertoires de configuration avez-vous ?</li>
<li><a href="solutions/enchainer-sol.html#syst4"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment mettre dans un fichier la liste de tous les fichiers de
l'arborescence à partir du répertoire courant ?</li>
<li><a href="solutions/enchainer-sol.html#syst5"><img src="../../icones/solution.png" alt="Solution" /></a> Créez un
fichier <tt>liste</tt> contenant la liste de tous vos fichiers, avec leur
taille, leurs droits, etc.</li>
<li><a href="solutions/enchainer-sol.html#syst6"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment afficher uniquement les fichiers du répertoire courant qui sont des
liens symboliques ?</li>
<li><a href="solutions/enchainer-sol.html#syst7"><img src="../../icones/solution.png" alt="Solution" /></a> Combien de
lignes contiennent le mot «<em>file</em>» dans la page de man de
<tt>syst</tt> ?</li>
<li><a href="solutions/enchainer-sol.html#syst8"><img src="../../icones/solution.png" alt="Solution" /></a> Quels sont les
dix plus gros fichiers de <tt>/usr/bin/</tt> ?</li>
<li><a href="solutions/enchainer-sol.html#syst9"><img src="../../icones/solution.png" alt="Solution" /></a>
Pour chaque ligne du fichier <tt>/etc/hosts</tt>, affichez :
<ul><li> Le cinquième caractère;</li><li> Les caractères 5 à 10, et le treizième;</li><li> Tous les caractères à partir du quinzième.</li></ul></li>
</ol>
<h2>
<a name="yp" id="yp">Exercices sur les pages jaunes</a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#yp2"><img src="../../icones/solution.png" alt="Solution" /></a>Combien de
personnes de la promotion 1996 ont un login commençant par «l» ?</li>
<li><a href="solutions/enchainer-sol.html#yp3"><img src="../../icones/solution.png" alt="Solution" /></a>Est-ce que des
gens des promotions de la décennie 1980 ont encore un compte sur clipper ?</li>
<li><a href="solutions/enchainer-sol.html#yp4"><img src="../../icones/solution.png" alt="Solution" /></a>Combien y a-t-il
de comptes d'élèves, magistériens, etc (appartenant à une promotion) sur
clipper ?</li>
<li><a href="solutions/enchainer-sol.html#yp5"><img src="../../icones/solution.png" alt="Solution" /></a>Classer les
comptes de ces utilisateurs par numéro d'UID.</li>
<li><a href="solutions/enchainer-sol.html#yp6"><img src="../../icones/solution.png" alt="Solution" /></a>
Affichez le login des personnes ayant <tt>zsh</tt> comme shell de login.</li>
<li><a href="solutions/enchainer-sol.html#yp7"><img src="../../icones/solution.png" alt="Solution" /></a>
Affichez le nom et le prénom des personnes ayant un compte sur
<tt>clipper</tt>, et dont le nom de famille contient au moins 2 voyelles
côte à côte. Compter ces personnes.</li>
</ol>
<h2>
<a name="divers" id="divers">Divers</a>
</h2>
<ol>
<li><a href="solutions/enchainer-sol.html#divers1"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment conserver les informations concernant le disque dans un
fichier ?</li>
<li><a href="solutions/enchainer-sol.html#divers3"><img src="../../icones/solution.png" alt="Solution" /></a>
Comment connaître la dernière date de connexion au système d'un utilisateur
de login <tt>martin</tt> ?</li>
<li><a href="solutions/enchainer-sol.html#divers5"><img src="../../icones/solution.png" alt="Solution" /></a>
Affichez le type des fichiers <tt>/etc/passwd</tt>,
<tt>/usr/include/stdio.h</tt>, <tt>/bin/ls</tt> et de votre répertoire de
travail.</li>
</ol>
<div class="metainformation">
Auteur : Anonyme, Joël Riou. Dernière modification : 2013-10-20 par Antoine Amarilli.
</div>
</div>
</body>
</html>