Les objectifs de ce cours sont : Se familiariser avec l'environnement UNIX/LINUX Apprendre a se servir de quelques fonctionnalits disponibles dans cet environnement pour la manipulation des textes L'valuation du cours sera constitue par Examen crit Devoir sur table Sance 1 : Environnement UNIX/LINUX: prsentation, avantages et inconvnients, utilisation, principales commandes.
Les chemins d'accs aux fichiers Quelques commandes utiles : ls, pwd, cd, cat, grep, wc Exercice avec ces commandes
Figure 1 Le chemin absolu l'un des fichiers ou rpertoire de cet arbre, est la suite des noms rencontrs depuis la racine / jusqu' cet lment, spars par des /. * /home/avolansk est un chemin d'accs absolu au home directory de Alexandra Volanschi, * /home/avolansk/images/alex.jpg est un chemin d'accs absolu alex.jpg La suite /home/avolansk/images/alex.jpg peut aussi s'interprter comme une suite de dplacements : * / : aller la racine * home/ : descendre dans home * avolansk/ : descendre dans avolansk * images/ : descendre dans images * logo.jpg : accder logo.jpg Un chemin relatif dcrit la suite des dplacements effectuer partir du rpertoire courant jusqu' un lment donn. Dans une telle suite, un double-point .. dsigne le rpertoire immdiatement au dessus du prcdent, et le point . dsigne le rpertoire courant : * si le rpertoire courant est avolansk, images/alex.jpg est un chemin d'accs relatif alex.jpg. * si le rpertoire courant est documents : o .. est un chemin d'accs relatif /home/avolansk, o ../images accde au rpertoire /home/avolansk/images. o ../images/alex.jpg accde au fichier alex.jpg. Remarque En pratique, on identifie souvent un fichier ou un rpertoire avec son chemin d'accs (absolu ou relatif). Ainsi, dans la description des commandes ci-dessous, un argument de la forme rpertoire (resp. fichier) pourra tre remplac par n'importe quel chemin d'accs un
rpertoire (resp. un fichier). Par exemple, cd.. permet de remonter dans le rpertoire immdiatement au-dessus du rpertoire courant, cd../../usr/local permet de remonter de deux rpertoires, puis de descendre successivement dans usr et dans local, etc...
1/pwd A tout moment, pour savoir dans quel rpertoire on se trouve, on peut utiliser la
commande pwd.
2/cd 'change directory' pour changer de rpertoire et aller dans le rpertoire spcifi
exemple : cd.. permet de remonter d'un niveau sans arguments, et quelque soit le rpertoire courant, cd vous permet de revenir au sommet de votre rpertoire personnel. (exemple : si vous vous trouvez dans le rpertoire images, la commande vous permet de revenir dans /home/avolansk
4/ mkdir 'make directory' rpertoire = crer rpertoire. 5/ rmdir 'remove directory' rpertoire (remove directory) : dtruire rpertoire. Cette
commande ne fonctionne que si le rpertoire spcifi est vide.
mv fichier rpertoire : dplacer fichier dans rpertoire. mv rpertoire_1 rpertoire_2 : - si rpertoire_2 n'existe pas, changer le nom de rpertoire_1 en rpertoire_2. sinon, dplacer rpertoire_1 dans rpertoire_2. NOTE : Destructions ou dplacements multiples : le caractre wildcard * On peut dplacer ou dtruire plusieurs fichiers ou rpertoires simultanment, l'aide du caractre *. Par convention, ce caractre ne fait jamais partie d'un nom de fichier ou de rpertoire. Il est interprt par le Shell de la manire suivante: mot* dsigne tous les fichiers ou rpertoires commenant par mot (qui peut tre le mot vide). Le premier argument des commandes mv,cp (ou mme de ls, ainsi que de cat et more, voir ci-dessous) peut tre de cette forme. La commande s'applique alors tous les fichiers commenant par mot: si /home/avolansk/langagesIL/Unix contient les fichiers test_1.txt, test.txt,testtest, la commande rm/home/avolansk/langagesIL/Unix/test* effacera ces trois fichiers. rm* efface le contenu du rpertoire courant (faire attention a cette commande : a a provoque de grandes catastrophes dans l'histoire). cp*/test*/home/avolansk/documents copie dans /home/avolansk/documents tous les fichiers commenant par test contenus dans les sous-rpertoires immdiats du rpertoire courant.
11/ head head -n 20 fichier : affiche les 20 premires lignes de fichier 12/ tail tail-n 20 fichier : affiche les 20 dernires lignes de fichier 13/ echo
echo chane. Afficher chane (une suite de caractres quelconque) l'cran, suivi d'un retour-chariot (caractre invisible, provoquant le retour la ligne). echo chane > fichier: au lieu d'afficher chane l'cran, crer fichier, et stocker la sortie de echo chane (c'est--dire chane, suivi d'un retour-chariot) dans fichier. Noter que si fichier existe, son contenu est cras. Ainsi, la squence de commandes
echototo>test.txt cattest.txt echotutu>test.txt cattest.txt affichera l''ecran successivement toto suvi d'un retour-chariot (premier contenu de test.txt) puis tutu suvi d'un retour-chariot (second contenu).
3 Exercices
1. Rpertoires : pwd,ls,cd,mkdir,mv Afficher la position du rpertoire dans lequel vous vous trouvez. Afficher son contenu. Revenir, si vous n'y tes pas dj, votre rpertoire priv (utiliser la commande cd sans arguments). 1. Crer partir de votre rpertoire priv l'arborescence dans la Figure1. Commencer avec les sous-rpertoires Images, Documentset Cours. Descendre dans Cours: crer un sous-rpertoire langagesIL. sans changer de rpertoire, crer un sous-rpertoire de langagesILappel Perl. toujours sans changer de rpertoire, crer un nouveau sous-rperto de ire langagesILappel Unix.
2. Descendre, en une seule tape, dans Perl. Sans changer de rpertoire, crer un sousrpertoire d'Unix appel Exos. 3. Remonter, en une seule tape, dans Documents. afficher le contenu de ce rpertoire. en une seule tape, copier le rpertoire Exos dans Perl. sans changer de rpertoire, afficher le contenu de Perl sa nouvelle position. toujours sans changer de rpertoire, changer le nom de Unix en Linux, sans changer sa position. 4. Aller dans Linuxen une seule tape, puis afficher son contenu. 5. Dessinez sur un papier cette arborescence aprs ces tapes. Si vous tes perdus, vous pouvez bien sr tout moment
1. 2. 3. 4.
afficher la position du rpertoire courant, afficher son contenu, afficher le contenu de ses sous-rpertoires. effacer un rpertoire cr par erreur, l'aide de rmdir ( condition qu'il soit vide, sinon avec rm -r).