Anda di halaman 1dari 7

Laboratoire de tlinformatique Linux 1 (Commandes de base)

Objectif Familiarisation du systme dexploitation Linux pour que vous vous sentiez laise dans la suite des laboratoires puisquun grand nombre de manipulations vont seffectuer sur ce systme. Introduction Le laboratoire de tlinformatique comporte un certain nombre de PC qui sont quips de 2 systmes dexploitation : Windows et Linux Redhat. Les manipulations que nous proposons ici peuvent normalement tre effectues sur une autre distribution que RedHat (SuSE, Slackware, Debian,) La philosophie de Linux (vient du nom de son inventeur Linus Torvalds, un programmeur finlandais) vient du monde UNIX o il ntait pas coutume dutiliser des fentres. Les commandes dadministration se font en ligne. Il y a une grande libert pour crer de nouvelles commandes, contrairement au monde Windows. Ce systme est compltement ouvert et les possibilits sont presque illimites. Il faut en tre conscient et tre prudent quand on essaie de nouveaux trucs . Ce systme dexploitation sadresse essentiellement des professionnels qui savent ce quils font. Au dbut, cest un petit peu plus difficile mais ensuite nous verrons que nous pouvons accder toutes les ressources du systme, ce qui nous facilite grandement la tche ds que nous devons dvelopper du code, des protocoles, Le but de ce laboratoire est comme nous lavons dit, de se familiariser au systme (dition et manipulation de fichiers, compilation,), et non de dvelopper de nouveaux outils, dans un premier temps. Par contre nous vous encourageons fortement essayer dautres commandes. Internet regorge de documentation propos de Linux. Ltudiant curieux a largement de quoi assouvir son intrt. Comment commencer ? Premirement il faut vous mettre sur une station de travail (PC) et dmarrer sous Linux (voir annexe pour voir comment entrer et quel PC choisir): Login : labo Password : labo A ce stade il faut ouvrir une fentre de commande et nous pouvons commencer. Tout dabord on aime bien savoir o on se trouve. Il faut faire la commande suivante pour le savoir : >pwd

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

Ensuite on aime bien savoir ce quil y a dans le rpertoire dans lequel nous nous trouvons : >ls a Le rpertoire dans lequel vous vous trouvez est votre rpertoire personnel ( home directory ) si vous avez un compte mais il sagit dun rpertoire banalis si vous avez accd au systme laide dun compte commun (comme dans notre cas avec labo ). Remarque : faites attention la casse. Le systme est sensible aux majuscules/minuscules. On peut changer de rpertoire avec la commande cd : >cd /etc nous fait accder au rpertoire /etc. De faon gnrique la commande scrit >cd <nom du rpertoire> Il y a nanmoins des simplifications possibles. Quand nous voulons remonter larborescence (par exemple aller de /etc/hosts /etc), nous pouvons utiliser la commande >cd .. Depuis nimporte quel emplacement il est possible de revenir dans son rpertoire de base ( home directory ) avec la commande >cd ~ Question: Comment crer un rpertoire (voir en annexe 1) ? Maintenant nous savons comment nous dplacer dans tous les rpertoires et lister le contenu des rpertoires. Toutes les commandes ont un certain nombre doptions (par exemple ls a, ls al, la F par rapport ls). Si vous voulez connatre ces options facilement il suffit de consulter les man pages (vient de manual pages) avec la commande suivante : >man ls Et vous verrez apparatre une description de la commande avec tous les arguments possibles. Cest certainement la commande la plus utilise. Cest une bonne habitude dutiliser cette commande ds quon hsite. Avec Linux, on peut rediriger une sortie (ou une entre) vers dautres composants, vers des fichiers par exemple. Ces redirections sont utiles quand on a du texte. Nous pouvons crer un petit fichier en redirigeant la sortie dune man page par exemple : >man ls > man_ls.txt Si nous observons maintenant le rpertoire (avec ls) nous voyons quun nouveau fichier est apparu : man_ls.txt. Maintenant nous pouvons manipuler ce fichier. Copions-le avec la commande cp: >cp man_ls.txt man_ls2.txt

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

Nous avons deux fichiers supplmentaires dans notre rpertoire (vrifiez-le). La commande cp effectue la copie dun fichier vers une destination spcifi : >cp <source-file> <destination file> Nous pouvons aussi dtruire un fichier avec la commande rm : >rm man_ls2.txt Avec cette commande nanmoins il faut tre extrment prudent. Vous pouvez dtruire une arborescence complte. Question : Que fait rm rf * ? Regardez dans les man pages. Question : Que fait mv ? tail ? head ? Nous voulons peut-tre voir le contenu de notre fichier man_ls.txt. Comment faire ? Il y a plusieurs possibilits : vous pouvez utiliser more, cat, less avec la syntaxe suivante : >more man_ls.txt Vous pouvez presser sur <return> (pas--pas) ou <espace> (page par page) pour faire avancer. Si vous voulez quitter le fichier en cours de route, pressez simplement q (quit). Toutes ces commandes (tches) sont appels des processus avec Unix. On peut galement connecter la sortie dun processus lentre dun autre. Cette connexion se fait avec le symbole | (pipes). On peut ainsi chaner des commandes. Une autre commande trs pratique est la commande grep qui permet de chercher des bouts de chanes de caractre dans des fichiers texte. On peut chercher le mot list dans notre fichier man_ls.txt : >cat man_ls.txt | grep list On peut aussi rechercher un fichier dans une arborescence (pas toujours vident faire manuellement, surtout quand larborescence comporte de nombreux rpertoires). On donne la racine de larborescence dans laquelle on veut chercher et une expression dsignant le fichier quon dsire rechercher. Si on dsire rechercher notre fichier depuis la racine du systme (tout en haut de larborescence), il faut faire la commande suivante : >find / -name man_ls.txt print Exercice: Localisez les fichiers include (utilisez par exemple stdio.h). Remarque: Vous pouvez aussi utiliser la commande locate. Pour crire un petit fichier, nous pouvons utiliser plusieurs diteurs de texte. Le plus ancien, disponible sur tous les systmes Unix est vi. Les utilisateurs Mac et Windows vont dtester cet diteur car il consiste en une suite de commandes difficiles digrer. Nanmoins il reste le seul diteur pouvoir diter de manire fiable un fichier travers une connexion telnet . Toutes les commandes ddition de vi se retrouvent dans le cadre du shell et permettent dditer les lignes de commande, ce qui savre trs utile.

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

Nous allons maintenant approfondir un point trs important, savoir la manire dont on peut protger laccs aux fichiers et aux rpertoires. Ladministrateur a tous les droits sur tous les fichiers. Si on effectue la commande ls l, nous obtenons par exemple : >ls l total 67 drwxr-wr-x drwxr-xr-x

2 root 3 root

root root

2048 Aug 14 2001 bin 1024 Oct 8 10:15 boot

Que signifie les lettres de la premire colonne (drwxr)? En fait il sagit des droits daccs aux fichiers. On a trois groupes. En allant la gauche vers la droite, on a successivement les accs pour le propritaire, les membres du groupe et les autres utilisateurs. Le fait que tous les caractres soient appondus narrange pas les choses mais on peut diviser la premire ligne de la faon suivante : rwx r-w r-x. Dans ces trois groupes, on a trois lettres chaque fois. La premire lettre r signifie lecture , la deuxime (w) signifie criture et la troisime (x) signifie excution . Donc si on reprend lexemple ci-dessus, on voit que boot est accessible en lecture, criture et excution pour le propritaire (root), accessible en lecture et excution pour les membres du groupe et accessible en excution seulement pour les autres utilisateurs. Il est possible de changer ces accs avec la commande chmod. On peut ajouter des droits ( + ), en retirer ( - ) ou en remplacer ( = ) pour le propritaire ( u ), le groupe ( g ), les autres ( o ), ou tout le monde ( a ). Question : Que signifie la commande suivante ? >chmod a+r, a+w boot On peut aussi donner une valeur en octal pour lattribution des accs : rwx=7, rw-=6, r-x=5, r--=4, -wx=3, -w-=2, --x=1, ---=0. Question : Que signifie la commande suivante ? >chmod 760 boot La commande umask permet de dfinir des permissions par dfaut. Tapez >umask et vous verrez quels sont les droits qui sont supprims. Si vous obtenez 022 par exemple, a signifie que vous ne retirez aucun droit au propritaire, que vous retirez le droit lcriture aux autres. Question : Que signifient les commandes suivantes ? >umask 000 >umask 777 On peut aussi faire changer le propritaire dun fichier avec la commande chown. La syntaxe est la suivante :

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

>chown <nouveau propritaire> fichier Revenons nos processus. Sur Linux, chaque processus a un identificateur numrique, le PID (process identifier). Ce numro est important car il identifie de faon unique le processus. Nous pouvons faire la liste des processus actifs avec la commande ps (voir les man pages pour les options). Question : Comment afficher tous les processus actifs ? Nous pouvons supprimer des processus avec la commande kill. Il faut indiquer la commande le PID du processus supprimer. La syntaxe est la suivante : >kill 9 PID . Vous pouvez lancer un processus et le supprimer ensuite, par exemple un diteur de texte donn par le systme. Faites toutefois attention quand vous supprimez des processus car vous pouvez faire des dgts car le processus que vous supprimez ne va pas pouvoir terminer sa tche ! On peut utiliser ceci quand on crit un programme comportant une boucle infinie par exemple. Question : Quel processus avez-vous cr et supprim ? Une autre notion dans le monde Unix concerne les deamon qui sont des processus qui fonctionnent en permanence. En principe, les deamon sont termins par la lettre d. Ainsi ftpd reprsente le programme du serveur ftp (httpd pour le serveur http). Question : Pourquoi les serveurs sont-ils des deamon ? Pour faire de la sauvegarde, la vieille commande tar est toujours trs utilise. La syntaxe est la suivante : >tar <options> <fichier spcial> <fichiers sauvegarder> Les options principales sont les suivantes : c (cration dune nouvelle archive), f (lorsque le support nest pas le support pas dfaut), v (archivage verbeux, affichage des fichiers traits), x (restauration dune archive), z (compression). Pour crer une archive nous pouvons faire par exemple : >tar cvfz fichierarchive.tgz fichier1 fichier2 rep1 Larchive compresse (fichierarchive.tgz) comprendra donc les fichier 1 et 2 ainsi que tous les fichiers du rpertoire 1. le nom de chaque fichier compress apparaitra lcran. >tar xvfz fichierarchive.tgz Cette commande va dcompresser et extraire tous les fichiers de larchive compresse et cre automatiquement les sous-rpertoires ventuellement ncessaires. Le nom de chaque fichier apparat lcran. Si vous voulez personnaliser votre environnement, vous pouvez faire usage de la commande env (dpend du shell utilis). Question : Que voyez-vous apparatre quand vous tapez la commande env ?

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

Une variable est trs intressante pour nous : PATH . Elle dit au systme o se trouvent les programmes excutables que vous dsirez excuter. Si vous avez un excutable dans un autre rpertoire, non list par cette variable, le systme ne va pas le trouver. Pour faire excuter votre programme il faudra donner le chemin complet, par exemple /root/cours/demo. Ou encore, si le fichier est dans le rpertoire dans lequel vous vous trouvez : ./demo. En gnral, les variables denvironnement ne sont dfinies que pour la session en cours. Si nous voulons que la modification apporte PATH soit dfinitive il faut modifier le fichier .bash_profile (ou analogue, lister avec ls l) dans le home directory (root, robert,). Examinez ce fichier. Il y a encore beaucoup de choses que nous pouvons faire mais maintenant nous allons nous intresser lcriture du scrits. Un script est un petit fichier texte dans lequel nous mettons une liste de commandes effectuer et qui est excutable. Il est crit dans le langage Shell dans lequel un jeu de commandes est dfini. Il existe par exemple diverses instructions de programmation (if, for,) permettant dcrire des petits programmes dans un langage proche de la syntaxe du langage C. Exercice: Ecrire un petit script trs simple (par exemple : ps ef) et lexcuter. Que faut-il faire pour quil soit excut ? Renommez ce fichier, est-il excutable ? Que se passe-t-il ? Commentez. Pour ceci il faut utiliser un diteur comme vi par exemple : vi <nom du fichier>, pressez i pour insrer du texte, tapez et quand vous avez fini : tapez :wq pour enregistrer le fichier et sortir de lditeur. La commande df renseigne sur loccupation des file systems monts. La commande du donne la taille en blocs de 512 octets dun certain ensemble de rpertoires ou de fichiers. Sans argument, du donne la taille de chaque sous-rpertoire du rpertoire courant, y compris ce rpertoire. Question : Quelle est lutilisation de votre disque ? La communication sous Linux Avant d'examiner les fichiers de configuration d'interfaces, dressons la liste des fichiers de configuration primaires utiliss pour configurer le rseau. Le fait de comprendre le rle jou par ces fichiers dans la mise en place de la pile rseau peut s'avrer utile lors de la personnalisation d'un systme Red Hat Enterprise Linux Les fichiers de configuration de rseau primaire sont les suivants : /etc/hosts L'objectif principal de ce fichier est de rsoudre les noms d'htes n'ayant pu tre rsolus d'une autre faon. Il peut galement tre utilis pour rsoudre des noms d'htes sur de petits rseaux ne disposant pas de serveur DNS. Quel que soit le type de rseau utilis par l'ordinateur, ce fichier doit contenir une ligne spcifiant l'adresse IP du priphrique de bouclage (loopback) (127.0.0.1) en tant que localhost.localdomain. Pour obtenir davantage d'informations, consultez la page de manuel de hosts. /etc/resolv.conf Ce fichier prcise les adresses IP des serveurs DNS et le domaine de recherche. moins d'tre configur autrement, les scripts d'initialisation du rseau sont contenus dans ce fichier. Pour

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

obtenir davantage d'informations sur ce fichier, consultez la page de manuel de resolv.conf . /etc/sysconfig/networking/ifcfg-<interface-name> Pour chaque interface rseau, il existe un script de configuration d'interfaces correspondant. Chacun de ces fichiers fournit des informations spcifiques une interface rseau particulire. Si nous tapons la commande route , toute la table de routage va safficher. Question : Quelle est la table de routage de votre PC ? Quelles sont les options de la commande route ?

Stephan Robert, Institute for Information and Communications, HEIG-Vd, CH-Yverdon-les-Bains

Anda mungkin juga menyukai