Vous êtes sur la page 1sur 14

Foire Aux Questions

Les paragraphes qui suivent constituent la FAQ. Veuillez en prendre connaissance et


vous y reporter avant de poser une question dans le forum, voire de poser une question
par courrier lectronique aux enseignants.


3. Systme dexploitation, systme dexploitation Unix

1. Q: Que veut dire CPU?
R: CPU signifie Central Processor Unit. Dans le cours, CPU est traduit par UC,
Unit Centrale. Pour rsumer, cest le processeur.
2. Q: Est-ce que la machine virtuelle est lensemble machine matrielle + logiciel?

R: La machine virtuelle est une virtualisation logicielle du matriel.
3. Q: Cest quoi cette structure en couches?
R: la base, il y a le matriel. Juste au-dessus, il y a le systme dexploitation
qui est la premire couche logicielle et qui permet dj la communication avec le
matriel si on est un expert en informatique. Ensuite, au-dessus du systme
dexploitation, il y a des couches logicielles qui se succdent. Plus on utilise une
couche logicielle leve, plus lutilisation est facile, mais linconvnient cest
que plus de ressources sont utilises, donc on perd en performance.
4. Q: Un systme dexploitation multitche est-il forcment multi-utilisateur? Le
systme dexploitation peut-il tre multi-utilisateur mais monotche?
R: (1) Non. (2) Multi-utilisateur et monotche ? a nexiste pas ! Cela voudrait
dire quil faudrait attendre quun programme lanc par un autre utilisateur se
termine pour avoir une chance de lancer son propre programme. Il ne pourrait
alors tre question dinteractivit...
5. Q: Quest-ce quune machine multiprocesseur ?
R: Cest une machine qui a plusieurs processeurs sur sa carte mre. Lavantage
est la puissance de calcul accrue que cela propose. Pourquoi ne pas mettre un
processeur plus puissant ? Il nexiste pas ncessairement ou alors est trs
coteux.
6. Q: Quelle est la diffrence entre les diffrentes distributions bases sur
GNU/Linux ?
R: Toutes les distributions bases sur GNU/Linux utilisent le mme systme
dexploitation: GNU/Linux ! Linterface graphique nest la plupart du temps pas
non plus une diffrence entre les distributions. En fait, ce quil faut savoir cest
quune distribution base sur GNU/Linux contient des tonnes de logiciels
(contrairement Windows). Le choix dune distribution se fait par le choix des
logiciels: telle distribution contient tels et tels logiciels et une autre des logiciels
diffrents. Au final, il se trouve quelles sont relativement proches. Certaines
distributions sont spcialises dans certains domaines. La Mandrake se veut tre
une distribution franaise et accessible tous. La Slackware se veut tre la plus
lgre possible. Une autre diffrence orientant le choix est le mode, la facilit
dinstallation, la frquence des mises jour et le support de nouveaux matriels.
7. Q: GNU/Linux est une distribution Pourquoi est-ce faux?
R: GNU/Linux est un systme dexploitation alors que Fedora est une
distribution de ce systme dexploitation. Prcisment, Linux est le noyau dun
systme dexploitation. Le noyau est un logiciel de base qui fournit des services
systme tels que la gestion des fichiers, la mmoire virtuelle (vous ne ltudierez
que plus tard), le systme dentres/sorties, etc. Cependant, un systme
dexploitation a besoin de plus que cela. Lorganisation GNU a dvelopp
beaucoup dapplications logicielles qui avec le noyau Linux en font un systme
dexploitation complet. Cet ensemble logiciel est appel GNU/Linux. En
ajoutant une partie de lensemble logiciel GNU/Linux, des fichiers de
configuration et des programmes dinstallation, on aboutit ce que lon appelle
une distribution base sur GNU/Linux, telle que Fedora.
8. Q: Quel est le lien entre Unix, Linux et le logiciel libre?

R: Les systmes dexploitation Unix existent depuis le dbut des annes 1970, et
se dclinent en diffrentes variantes commercialises par des diteurs logiciels
(propritaires pour la plupart). Le projet GNU a t lanc en 1984 par la Free
Software Foundation dans le but de crer un systme dexploitation compatible
avec Unix, et compos exclusivement de logiciels libres, cest--dire librement
utilisables, modifiables et distribuables. Plus tard, partir de 1991, un projet de
logiciel libre indpendant du projet GNU a cr le noyau Linux, qui constitue le
cur dun systme utilisant les outils du projet GNU. Ainsi, lassemblage de ces
deux projets avec de nombreux autres, sous la forme dune distribution base sur
GNU/Linux, constitue une plate-forme logicielle libre compatible avec les
systmes Unix propritaires.
9. Q: Le langage C, quest-ce que cest?
R: Le langage C est un langage de programmation comme Pascal ou Java.
GNU/Linux est crit en langage C. De plus, le langage C est le premier langage
de programmation tudi Tlcom SudParis.
10. Q: Quelle est la diffrence entre le stockage en mmoire centrale et le stockage
sur disque dur?
R: La mmoire centrale stocke les donnes pour effectuer les tches, alors que le
disque dur est un priphrique pour une mmoire long terme. En fait, la
mmoire centrale, cest la RAM ou encore mmoire vive; cest une sorte de
brouillon pour le processeur, o il fait des calculs, mais qui est efface ds que
lon en na plus besoin ou si on teint la machine. Par contre, le disque dur est
un priphrique de stockage long terme.
11. Q: Comment se procurer GNU/Linux ?
R: Il y aura des install party qui vont tre organises dbut octobre ou
novembre o chacun pourra tre aid pour installer GNU/Linux sur sa machine.


4. Premire utilisation

1. Q: Comment tester la commande su?

R: Le plus simple est dtre deux. Lun dentre vous est dj connect sur la
machine. Lautre personne (possdant aussi un compte sur cette machine)
souhaite tre connecte sans vous dconnecter. Il faut donc quelle utilise la
commande su - sonlogin dans une fentre terminal, et saisisse son mot de passe.
Elle est ainsi galement connecte et peut le vrifier en utilisant la commande id.
2. Q: Quel est le lien entre multifentre et peu de commandes dans
lexpression mme si les environnements graphiques multifentres permettent
de ne taper que peu de commandes ?
R: Avec les environnements graphiques multifentres, par exemple, on ouvre
des fichiers et des rpertoires en cliquant dessus avec la souris, donc sans utiliser
de commandes (comme avec lexplorateur sous Windows).
3. Q: Un client XWindow, quest-ce que cest?
R: Lenvironnement graphique de votre ordinateur nest pas fourni par le
systme dexploitation. Il est gr par un ensemble dapplications. La brique de
base de ces applications est le serveur XWindow. Il fournit lensemble des
lments graphiques: dessin des lignes, rectangles... et dautres fonctionnalits
telles que le rafrachissement de lcran. Une autre application utilise pour crer
et grer votre environnement graphique est le gestionnaire de fentres. Ce
gestionnaire utilise XWindow pour le dessin des fentres. Cest pour cela que
lon dit quil est un CLIENT XWindow. De mme, toutes les applications qui
utilisent des fentres: messagerie, diteur de texte, navigateur Web... sont des
clients XWindow.
4. Q: Il est dit que lenvironnement multifentre fournit un grand nombre de
bibliothques pour la construction dapplications fentres, mais quest-ce
quune bibliothque exactement ?
R: Une bibliothque de construction dapplications fentres, cest ce qui permet
au dveloppeur de crer par exemple un menu, une zone de saisie, une fentre...,
c.--d. tout ce que lon peut retrouver de commun toutes les applications.
5. Q: Y-a-t-il un rapport entre un client XWindow et Windows de Microsoft?
R: Non, il ny a aucun rapport entre les deux. Il faut seulement se rappeler que
window en anglais signifie simplement fentre.
6. Q: Je ne comprends pas pourquoi je narrive executer aucune des commandes
xterm,xload...) ?? Jai toujours comme rponse cant open display ?

R: Essayez-vous de lancer ces commandes dans une fentre de Putty partir de
Microsoft Windows? Si oui, cest normal car Microsoft Windows nexcute pas
de serveur XWindow.
7. Q: Pourquoi utiliser emacs plutt quOpenOffice?
R: Question trs intressante. Voil la question reformule : quelle est la
diffrence entre un diteur de texte et un traitement de texte? Cest un peu
comme comparer le bloc notes et Word... rien voir en fait :) Lun fait des
fichiers textes (texte pur), sans formatage (pas de gras, soulign, couleurs, mise
en page complexe, puces, ..), lautre des pages justement formates. Les fichiers
texte sont notamment utiliss pour crire des programmes ou de courtes notes
qui nont pas besoin de mise en page volue, un mail par exemple. Les
traitements de texte sont utiliss pour crire des textes ncessitant une mise en
page volue. Chaque traitement de texte produit des fichiers un format qui lui
est propre alors que tous les diteurs de texte produisent des fichiers au format
texte. Pour ouvrir un fichier autre que du texte, il faut connatre une
application capable de le lire.
Par exemple, si vous avez un fichier .doc, monfichier.doc, openoffice est capable
de le lire. Donc, il vous faut soit lancer lapplication via linterface graphique,
soit via le shell en utilisant la commande ooffice monfichier.doc. Autre exemple,
pour un fichier pdf, vous pouvez utiliser xpdf ou acroread pour le lire: xpdf
monfichier.pdf ou acroread monfichier.pdf. De manire gnrale, pour ouvrir un
fichier autre que du texte dans le shell, il faut connatre la commande permettant
de lancer une application capable de le faire. Pour un fichier texte, cat ou more
pour simplement voir le contenu du fichier ou emacs pour lditer et le modifier,
bien sr!
8. Q: Jai essay de modifier la taille de la fentre demacs, en changeant les
paramtres des lignes et des colonnes , mais cest sans effet. Pourquoi ?
R: Vrifiez que vous navez pas crit une toile ( * ) la place du caractre
x dans largument de loption -geometry.
9. Q: Quelle est la diffrence entre un shell et un terminal ? ou est-ce la
mme chose?
R: Le terminal est une fentre Xwindow excutant un shell .
10. Q: Lexplorateur de fichier Nautilus na pas la mme apparence que celle que
lon peut voir dans la dmonstration de lillustration interactive. Ce qui manque,
cest de pouvoir avoir accs larborescence des fichiers, lhistorique, etc.
R: Cest le cas de tout le monde car le gestionnaire de fentre utilis dans cette
illustration ne correspond pas exactement celui des systmes dexploitation
installs dans les salles TP de Tlcom SudParis de cette anne.
11. Q: Est-ce que les options ont toujours la mme signification quelle que soit la
commande? Par exemple, -a donne-t-elle toujours plus dinformations sur une
commande? Est-ce quil existe des options incompatibles que lon ne peut
accoler?
R: (1) Non hlas, il ny a pas uniformisation sur le nom des options. Mme si
certaines options ont la mme signification pour plusieurs commandes (par
exemple -v correspond souvent verbose), on ne peut pas gnraliser. (2) Oui,
certaines options sont incompatibles. Par exemple les options -s (mode silent
pour pas daffichage ) et -l (pour mode verbeux ) de la commande cmp
(comparaison).
12. Q: Comment consulter le manuel daide en ligne ?
R: Vous pouvez consulter le manuel daide en ligne en mode texte (commande
man) ou en mode graphique en cherchant dans un menu un onglet Aide (l, il
faut chercher un lien faisant rfrence un manuel ou encore des
commandes Unix).
13. Q: Comment sortir de la commande man ?
R: Avec la touche q.
14. Q: quoi correspond la section de laide en ligne note 1x , sachant que celle
note 1 est pour les commandes ?
R: Quelquefois, une lettre est ajoute au numro de section comme par exemple
xterm.1x ou wish.1tk . Le but de cette notation est dindiquer quil sagit
respectivement dune documentation dun programme XWindow ou dune
application Tk.
15. Q: Une fois que lon connat la section dans le manuel en ligne, comment lancer
la commande man permettant de lire la bonne page?
R: Parmi les options de la commande man , il est possible de prciser un
numro de section (vous pouvez retrouver cela en faisant man man). Ce numro
de section peut tre prcis sous la forme N ou -S N. Essayez par exemple les
commandes man write puis man 2 write . Vous trouverez deux pages
diffrentes correspondant la commande write dans la section 1 (par dfaut)
puis la primitive systme pour la programmation dans la section 2.
16. Q: Jai vu ce mot dans beaucoup dendroits mais je ne comprends pas
exactement de quoi il sagit: super-utilisateur .
R: Cest un compte Unix, appel aussi root en anglais. En travaillant sous ce
compte, les administrateurs des systmes informatiques de Tlcom SudParis
installent et mettent jour les systmes dexploitation et les applications. Ils
peuvent effectuer toute opration sur la totalit de larborescence, contrairement
un utilisateur normal.


5. Systme de fichiers

1. Q: Le super-bloc dUnix est-il lquivalent de la base de registres de Windows?
Que contient exactement le super-bloc? Qui possde un super-bloc?
R: Le super-bloc donne une image de la dcomposition dun systme de fichiers
en blocs contenant les inodes et blocs contenant les donnes. Toute partition
Unix contenant un systme de fichiers possde donc un super-bloc. Cest tout
fait diffrent de la base de registres Windows qui est une base de donnes
hirarchise utilise par le systme dexploitation pour stocker des informations
sur les priphriques, les applications installes et les prfrences de lutilisateur.
2. Q: Quest ce quune partition?
R: Une partition est une unit logique qui fait physiquement partie du disque
dur. Lun des intrts des partitions est de mieux organiser un disque dur et de
pouvoir avoir plusieurs systmes dexploitation diffrents comme dans les salles
de TP de Tlcom SudParis.
3. Q: Une petite dfinition simplifie de inode maiderait.
R: Linode est lensemble des informations dcrivant un fichier. Cest ce que
lon appelle en informatique une mta-information: une information sur
linformation. Ainsi, dans un systme de fichiers, tous les fichiers sont dcrits
(taille, emplacement des donnes sur le disque, propritaire...) dans une structure
appele inode. Le systme de fichiers comporte donc deux sections importantes :
les inodes et les donnes.
4. Q: Que signifient les x niveaux dindirection des adresses indirectes ?
R: Un niveau dindirection signifient que ladresse pointe est une adresse qui
contient dautres adresses vers les vritables donnes. Deux niveaux
dindirection signifie que ladresse pointe vers une zone mmoire qui contient
dautres adresses, ces dernires pointant vers une zone mmoire contenant des
donnes, etc. Ainsi, les petits fichiers sont reprs par des adresses directes de
linode, ce qui permet de garder un accs rapide. Les gros fichiers sont reprs
avec des niveaux dindirection plus levs pour pouvoir disposer de plus de
blocs de donns pour stocker les informations. En effet, avec trois niveaux
dindirection, il y a au moins environ 256
3
blocs de donnes, ce qui fait de la
place.
5. Q: quoi cela sert-il dobtenir le numro dinode dun fichier.
R: Cela sert faire la diffrence entre les deux situations suivantes:
1. deux fichiers au mme contenu, c.--d. un original et une copie obtenue
par cp,
2. deux noms pour le mme fichier aprs utilisation de ln.
Le numro dinode permet donc de savoir si deux noms correspondent au mme
fichier (mmes blocs de donnes) ou des fichiers diffrents (blocs de donnes
distincts mais pouvant avoir le mme contenu).
6. Q: Que signifient les couleurs associes aux liens avec la commande ls?
R: vous avez d remarquer que la commande ls utilise diffrentes couleurs pour
afficher son rsultat. Ces couleurs sont dailleurs dfinies par le fichier
/etc/DIR_COLORS pour Fedora. Ce sont des couleurs associes aux diffrents
types dentres dans larborescence, mais cela nest quun effet daffichage. Si
vous navez pas encore constat ce type daffichage color, excutez la
commande ls -l color.
7. Q: Quest-ce quune structure de 64 octets?
R: Un endroit de stockage qui fait 64 octets, soit 64 8 bits.
8. Q: Que signifient les deux types de priphriques mode bloc et mode
caractre ? Et le mode raw-block ?
R: Un priphrique en mode bloc est un priphrique qui peut supporter un
systme de fichiers ; il est accd par bloc (et non par caractre) par le systme,
aussi bien en lecture quen criture, do son nom. Un priphrique en mode
caractre est au contraire accd uniquement par caractre, comme une
imprimante par exemple. Le mode raw-block permet dans certains cas
daccder par caractre un priphrique bloc pour des oprations de
maintenance.
9. Q: En quoi /dev/null est un pseudo-priphrique ?
R: Dans le cours shell, vous verrez que la commande ls > nomFichier envoie le
rsultat de ls dans le fichier nomFichier. Si le rsultat de la commande ls ne vous
intressait pas, vous pouvez taper ls > /dev/null. Tout a pour dire quon
constate quon peut crire des octets sur /dev/null. Cest donc que /dev/null est
un priphrique. Or, il ny a pas de matriel null (alors quil y a un matriel
cran, un matriel lecteur de CD-ROM...), ce nest donc pas un vrai de vrai
priphrique. Comme vrai de vrai ne fait pas trs srieux, on parle de pseudo-
priphrique.
10. Q: Pourquoi un priphrique est dun mode donn et pas dun autre mode? Est-
ce absolu ou est-ce li aux proprits du priphrique? Par exemple, pourquoi
une imprimante est en mode caractre et pas en mode bloc ?
R: Cest en partie li aux proprits du priphrique. Dans le cas de
limprimante, le gestionnaire dimpression envoie un flot dinformation
caractre par caractre (de manire squentielle). Dans le cas du disque, le
gestionnaire du disque lit, respectivement crit, une section physique du disque
(un bloc) et la place en mmoire, respectivement recopie un bloc mmoire vers
le disque.
11. Q: Comment voit-on sur un priphrique la diffrence entre le mode bloc et
le mode caractre ?
R: Avec la commande ls -l nom_priphrique, le premier caractre (avant les
droits daccs) est soit b pour bloc soit c pour caractre. Par exemple,
1) ls -l /dev/tty7 (Terminal : mode caractre)
crwrwrw1 root root 4, 7 2002-08-12 14:55 /dev/tty7
2) ls l /dev/hda1 (Disque : mode bloc)
brwrw1 root disk 3, 0 2002-03-14 22:51 /dev/hda1
12. Q: Quest-ce que la corbeille (/dev/null)?
R: Cest un pseudo-priphrique, c.--d. a sutilise comme un priphrique
mais a nen est pas un vrai (;-)). Elle correspond plus ou moins au vide
cyberntique! En entre (lecture), elle correspond rien , do la cration
dun fichier vide par copie. En sortie (criture), rien correspond poubelle,
c.--d. au vidage automatique sans aucune rcupration possible.
13. Q: Est-il possible de changer le rpertoire de connexion?
R: Le nom et la position du rpertoire de connexion sont fixs lors de la cration
dun compte utilisateur sur un systme. Et seul ladministrateur du systme (ou
super-utilisateur) pourrait apporter une modification.
14. Q: Comment entrer dans un rpertoire avec la commande cd lorsque le rpertoire
possde un nom compos comme Dossier personnel par exemple?
R: Cette question est un peu en avance sur le cours. 1) Encadrez le nom entre
quote ( ), par exemple cd Dossier personnel. 2) vitez de faire ce genre de
nommage dans Windows ou dans gnome/nautilus.
15. Q: La commande cp /etc/passwd donne un message derreur indiquant que le
fichier cible nexiste pas. Que dois je faire?
R: Il faut taper cp /etc/passwd nomFichier par exemple. Il faut prciser o copier
le fichier et le nom du nouveau fichier.
16. Q: Comment faire pour supprimer un dossier et tous ses sous dossiers avec les
fichiers en une seule commande ?
R: Essayez loption -r de la commande, mais soyez trs vigilant pour ne pas
effacer de fichiers ou rpertoires par erreur.
17. Q: Sous linux, il nest pas possible de faire de liens entre partitions, pourtant
sous Windows cest possible. De quel type de lien parlez-vous ?
R: Cette restriction nest valable que pour les liens dits physiques, pas pour les
liens symboliques.
18. Q: quoi sert un lien symbolique?
R: Le lien symbolique permet de crer un lien entre des lments qui ne sont pas
dans les mmes partitions, contrairement aux liens logiques classiques , dits
physiques.
19. Q: Quelle est la diffrence fondamentale entre un lien symbolique et un lien
physique, et surtout son utilit par rapport au lien physique ?
R: Utilit des liens symboliques:
1. traverser les systmes de fichiers,
2. liens sur des rpertoires,
3. liens indpendants de lexistence de la cible (ce qui permet danticiper
par exemple une installation de logiciel).
20. Q: Pourquoi quand on tape la commande cat sur un lien symbolique (celui qui
clignote), a ne marche pas ?
R: Quand le lien symbolique clignote en rouge, cela veut tout simplement dire
que le chemin spcifi est invalide, dans ce cas le lien pointe vers un fichier
inexistant.
21. Q: Quest-ce que loption de drfrencement -L de la commande ls?
R: Drfrencer veut dire regarder ce quil y a derrire une indirection. Ici, avec
en plus loption -l, il sagit dafficher les attributs du fichier point par le lien
symbolique plutt que les caractristiques du lien symbolique.
22. Q: Pourquoi le fait dutiliser des liens nous permet dconomiser de la mmoire
puisquen dfinitive ils pointent sur des fichiers qui utilisent donc de la
mmoire?
R: Le gain existe lorsque lon cre un lien sur un fichier au lieu den faire une
copie.
23. Q: Un lien possde-t-il les mmes droits daccs que le fichier initial ?
R: Oui pour les liens physiques. Pour un lien symbolique, le lien est mis
rwxrwxrwx et la documentation dit quil nest pas tenu compte des droits du lien
symbolique mais de ceux de lentre pointe par le lien.


6. Shell

1. Q: Comment faire disparatre le signe (ou prompt) > en dbut de commande
la place du prompt normal (par exemple $ ) ?
R: Tapez CTRL-C. Ceci permet dinterrompre la saisie dune commande et de
revenir au prompt normal.
2. Q: Quest-ce quune redirection ? Au lieu davoir ce que lon veut sur lcran,
on la dans un fichier ?
R: La redirection permet en effet de mettre dans un fichier le rsultat dune
commande au lieu de lafficher lcran. Cela permet par exemple de pouvoir
traiter directement des informations sans avoir faire des copier/coller tour de
bras (et donc limiter les erreurs) ou alors de garder un rsultat pour plus tard.
3. Q: Quel est le rle de la commande gcc rencontre dans lillustration interactive
redirection ?
R: En tapant whatis gcc , on obtient GNU project C and C++ compiler .
Le compilateur gcc sera expliqu plus tard dans le cours CSC 3002.
4. Q: Quest-ce quun shell script ?
R: Cest un script, ou srie dinstructions, shell programm qui peut par exemple
tre excut plus tard dans un terminal.
5. Q: Comment taper la barre verticale (pipe) ?
R: Appuyer sur les touches Alt-Gr et 6.
6. Q: Quelle est la diffrence entre les mta-caractres (apostrophe) et "
(guillemets anglaises)?
R: Tapez les deux exemples: echo $(pwd) et echo "$(pwd)".
7. Q: /dev/null est la poubelle, comment lutilise-t-on pour supprimer des fichiers?

R: dev/null est mentionn comme tant une poubelle (notez les guillemets).
En gnral, on ne sen sert pas pour les manipulations de fichiers, mme si
certaines commandes marchent. Par exemple, cp /dev/null toto.txt cre un fichier
vide toto.txt dans le rpertoire courant. En revanche, on lutilise beaucoup quand
on veut ignorer des affichages de rsultats en tapant par exemple tar xf arch.tar >
/dev/null. De mme, on peut souhaiter ignorer les erreurs en les redirigeant vers
/dev/null.
8. Q: Pourquoi lorsque je tape la ligne de commandes alias la=ls -a ; la , le
shell ne trouve pas lalias, alors que si je retape la commande la dans la ligne
suivante, il le trouve?
R: Les alias sont traits lorsque la commande est lue, et non pas lorsquelle est
excute. Ainsi, une dfinition dalias apparaissant sur la mme ligne quune
autre commande ne prend pas effet avant la lecture de la prochaine ligne
dentre. Autrement dit, une commande place la suite dune dfinition dalias,
sur la mme ligne ne sera pas affecte par cet alias. Pour plus de tranquillit,
placez toujours les dfinitions dalias sur des lignes isoles, et nutilisez jamais
la commande alias dans les commandes composes. Notez que cest la mme
chose avec la destruction des alias via la commande unalias.
9. Q: Quest-ce quune primitive?
R: Dune faon gnrale, une primitive dun logiciel est une fonction interne
ce logiciel, c.--d. qui ne fait appel aucun autre code que celui de ce logiciel.
Par exemple, une primitive systme est une fonction interne au noyau, qui ne
ncessite donc aucun chargement supplmentaire de binaire pour sexcuter.
Une primitive du shell (appele builtin ) est une commande interne au shell
excute directement par le shell sans cration de processus comme cest le cas
pour les commandes en gnral (que lon pourrait qualifier dexternes). En
complment, recherchez builtin dans la page du manuel en ligne de bash.
10. Q: Quel est lintrt concret des variables?
R: Le Shell est un outil trs puissant et il regroupe deux fonctions ; celle qui est
tudie ici : interprteur de commandes, mais cest aussi un langage de
programmation. Les variables ont donc un intrt majeur pour la
programmation. Certaines (appeles variables prdfinies) jouent aussi un rle
important pour linterprteur de commandes car elles permettent de paramtrer
son fonctionnement et celui des commandes. Par exemple, PATH liste les
rpertoires o le shell va chercher des excutables, PRINTER dfinit un nom
dune imprimante par dfaut, HOME caractrise le rpertoire de connexion,
DISPLAY dfinit le lieu daffichage du serveur XWindow et il en existe bien
dautres encore.
11. Q: Quest-ce quune variable prdfinie?
R: Cest une variable qui existe et qui a un contenu louverture de chaque
session. ces variables prdfinies, il est possible den ajouter dautres, par
exemple la variable mois avec la commande: mois=septembre.


7. Processus

1. Q: Que signifient signal 15 et signal 9 ?
R: Ce sont des signaux diffrents envoys des processus pour des traitements
diffrents, non tudis dans ce cours. Le 15 est celui envoy par dfaut par la
commande kill pour demander au processus de sarrter, le 9 force un processus
sarrter et se dtruire.
2. Q: Comment peut-on vrifier lavancement dun processus avec la commande
ps?
R: ps ne prend quune image de ltat des processus au moment o la commande
est excute. La commande affichant dynamiquement ltat en temps rel des
processus est top.
3. Q: Dans le cours, regardons les processus autres que ceux de la session en
cours grce loption "a", mais toujours les ntres. Et dans le manuel, a
(autres) prsente galement les processus des autres utilisateurs. Ce qui est un
peu contradictoire, non ?
R: ps est lune des trs rares commandes autoriser les options avec et sans tiret,
do la confusion. Essayez ps -al puis ps al. Il y a une diffrence. La diffrence
entre les deux est la suivante:
1. ps -al montre bien vos processus;
2. ps al montre tous les processus qui sont attachs un terminal (qui ont un
tty). Cela signifie quils peuvent crire dans la sortie standard.
Malheureusement, sur les machines des salles de TP, dans laide en ligne, il est
dit tort que les arguments de la ligne de commande peuvent tre prcds par
un (tiret), mais ce nest pas indispensable. En fait, les options avec tiret
sont censes avoir le mme comportement sur tous les UNIX. Cest pour cela
que nous les utilisons, et nous contentons de celles-l.
4. Q: quoi correspond lacronyme tty de la commande ps ?
R: tty est la fentre terminal (tty pour tltype). Ouvrez deux terminaux et tapez
ps dans chacun deux. Vous verrez deux numros de tty diffrents.
5. Q: Aprs avoir excut la commande top, comment sortir pour avoir une autre
ligne de commande dans le terminal?
R: Avec la touche q.
6. Q: Est-il possible de suspendre, mais sans le supprimer, un processus en arrire-
plan?
R: Une bonne faon est de ramener le processus en avant-plan (avec fg) et de le
suspendre avec CTRL-Z.
7. Q: Une commande mise en arrire-plan continue-t-elle sexcuter? Ou est-elle
suspendue, comme avec ctrl-Z?
R: Une commande en arrire-plan et non suspendue continue de sexcuter.
8. Q: Comment se fait-il que lorsquon lance la commande sleep 500& par
exemple et que lon liste les processus en cours, la colonne time affiche toujours
0 alors que le processus a dj commenc son excution ?
R: La commande sleep ne travaille pas ! Elle permet dendormir le shell.
9. Q: Pourquoi un processus na quun seul processus parent ? Je nai pas
compris ce que voulaient dire processus parent, processus enfant.
R: Unix manipule une hirarchie (un arbre) de processus. La relation dfinie
sappelle la parent. Un processus possde un seul parent (son crateur), un seul
grand-parent... Un processus peut crer plusieurs autres processus qui sont ses
enfants. Par exemple, chaque fois que le shell excute une commande, il cre
un processus enfant.
10. Q: De quel genre de ressource peut avoir besoin un processus dont labsence
mettrait le processus en attente ? Pourquoi le processus navait pas toutes les
ressources ncessaires ds le dbut ?
R: Un processus peut par exemple demander crire/lire des donnes du disque
dur. Pendant la dure de lopration, le processus na pas besoin du processeur:
cest la carte du disque qui travaille. Le processus est donc mis en attente de
la fin de lopration sur le disque et le processeur est attribu un autre
processus prt lutiliser.
11. Q: Plusieurs fois dans le cours, on parle de primitive dun noyau ou de primitive
systme pour excuter une fonction du noyau.
R: Lorsque lon utilise le shell par exemple, il sexcute dans lespace
utilisateur. Cependant, chaque fois quon lui demande de crer, douvrir ou de
modifier un fichier ou un rpertoire, le shell fait appel au gestionnaire des
fichiers, qui se trouve dans le noyau Unix! Pour cela, le shell passe de lespace
utilisateur lespace systme du noyau en utilisant un pont , qui sappelle une
primitive.
12. Q: Que veut dire mettre une variable dans lenvironnement ? Quel est cet
environnement et quoi est-il relatif : un processus donn?
O exporte-t-on les variables? Et quoi sert-il de les exporter? Quappelle-t-on
local et global?
R: la base, dans un processus, toutes les variables sont locales. Quand il veut
publier une variable pour la communiquer ses enfants lors de leur cration,
il la rend globale avec export (qui la met dans lenvironnement).
Lenvironnement, cest lensemble des variables transmises aux enfants.


8. Quelques outils supplmentaires

1. Q: Cest quoi un champ exactement?
R: La notion de champ correspond des chanes de caractres spares les unes
des autres par un caractre sparateur qui est par dfaut espace ou tabulation,
mais que lon peut remplacer par un autre caractre x grce loption -t
pour la commande sort ou -dx pour la commande cut).
R: Un champ est un emplacement dans lequel on stocke une donne (terme
utilis dans les bases de donnes): on divise la base de donnes (fichier) en
emplacements appels champs .

R: Un sparateur de champ permet de dcouper une ligne en morceau. Par
exemple, dans le fichier /etc/passwd, cest le : . Autre exemple, pour une
ligne de commande dans un shell, cest lespace, la tabulation ou le retour
chariot. Par curiosit, la valeur du sparateur de champ est contenu dans la
variable IFS . Essayez set | grep IFS.
2. Q: Quelle est la diffrence entre sort -k3 -k2 fruits et sort -k3,3 -k2,2
fruits ?
R: la page du manuel en ligne de la commande sort donne lexplication suivante
pour loption -k:
Si POS2 nest pas prcis, le tri commence la colonne POS1 et se termine
la fin de la ligne. En prcisant -k3,3, le premier critre de tri commence et
sarrte la troisime colonne. Il porte donc uniquement sur la troisime
colonne sans prendre en compte la fin de la ligne. La commande sort -k3,3 -
k2,2 fruits correspond donc la formulation: tri sur la 3me colonne puis sur
la 2me colonne en cas dgalit .
3. Q: Pourquoi la commande find /users -user f* -print contient une erreur de
syntaxe?
R: Le critre user de la commande find naccepte pas les jokers, donc pas le
mta-caractre * (toile), contrairement au critre name. Ceci est simplement
d au fait que les jokers servent pour les noms de fichiers, mais pas pour les
noms des utilisateurs. On ne peut donc pas chercher tous les fichiers des
utilisateurs dont le nom commence par f.
4. Q: Je ne comprends pas quoi sert exactement la commande split?
R: Comment faire pour mettre sur une cl USB un fichier dont la taille est
suprieure celle de la cl USB ? On dcoupe le fichier en morceaux (avec
split) capables chacun de tenir sur la cl, ce qui permet de copier ensuite chaque
morceau sur une cl diffrente. Lorsque lon veut rcuprer le fichier complet,
on recolle (avec cut) dans le bon ordre les morceaux copis sur les diffrentes
cls. Ce nest quun exemple...
5. Q: Y-a-til une diffrence entre les deux commandes suivantes: find / -name
passwd et locate passwd?
R: La commande find est celle qui est normalise pour Unix. La commande
locate est spcifique GNU/Linux. Dautres part, la commande locate ne
recherche que dans larborescence du systme dexploitation (/usr, /etc...), pas
dans les comptes des utilisateurs. En outre, locate recherche dans une base de
donnes mmorisant larborescence du systme. Or, cette base de donnes nest
pas toujours jour.
6. Q: En quoi consiste larchivage ? Nest-ce pas un moyen de compression ?
R: Larchivage permet de mettre en un seul fichier tous les fichiers dune
arborescence (typiquement un rpertoire et ses sous-rpertoires), avec la
possibilit de compresser les fichiers de la dite arborescence, donc en rduisant
la taille de larchive pour pouvoir lenvoyer vers un autre destinataire plus
facilement.
7. Q: quoi correspond ce quon appelle le listing dun utilisateur... en ce qui
concerne ses requtes imprimante?
R: On utilisait autrefois ce terme parce lutilisateur imprimait principalement des
listings (code source de ses programmes, rsultat de compilation, dexcution...).
Le terme listing utilis est ici employ au sens gnrique pour reprsenter le
rsultat demand par lutilisateur quelle que soit sa demande (impression dun
fichier texte, dune page Web, dune image, dun programme source ...).
8. Q: Que fait la commande cd rep1;tar cf- . |(cd rep2; tar xf) ?
R: Cela revient taper cd rep1 puis tar dont le rsultat est envoy sur la sortie
standard: larchive est donc envoye en sortie. Le tube permet de rcuprer le
contenu de larchive: on nest donc pas pass par un fichier. Les parenthses
permettent de considrer les deux commandes qui suivent le tube comme une
seule dun point de vue utilisation des flots de communication. cd nutilise pas
lentre standard mais permet de changer de rpertoire, la commande tar qui suit
peut alors prendre larchive et la dplier. On aurait pu crire:
o cd rep1
o tar cf toto.tar .
o cd rep2
o tar xf toto.tar
Rsultat: en une seule ligne, copie dune arborescence complte dun endroit
(rep1) un autre (rep2), sans cration de fichier intermdiaire.
9. Q: Que veut-dire verbeux ou mode verbeux ?
R: Beaucoup de commandes Unix sont silencieuses , c.--d. que lorsquelles
fonctionnent bien, elles naffichent rien (par exemple les commandes tar ou
gzip/gunzip). Ces commandes offrent souvent une option (par exemple loption
v pour tar et gzip) pour quelles affichent plus dinformations lcran. Testez
sur un fichier toto existant gzip toto et gunzip -v toto.


9. Communications sous Unix

1. Q: Comment transfrer ses fichiers partir de ou vers le serveur de Tlcom
SudParis?
R: Si vous tes sous Windows, il faut utiliser un logiciel comme FileZilla. Si
vous tes sous Linux, vous pouvez utiliser les commandes sftp ou scp dcrites
dans cette section.
2. Q: Qui peut mexpliquer le principe de FTP anonyme ?
R: Cest le fait daccder un serveur FTP (ou du moins certains rpertoires
dits publics) sans avoir un compte dutilisateur avec un mot de passe spcifique,
mais en utilisant un compte gnrique commun tous.
3. Q: Pourquoi un chiffrement clef secrte est moins sr quun chiffrement clef
publique?
R: Les algorithmes pour clef secrte sont moins robustes car ils sont utiliss avec
des clefs plus petites.
4. Q: Est-on oblig davoir dans son fichier known_hosts la cl publique de tous
les ordinateurs que lon utilise?
R: La clef publique permettant dauthentifier un client dpend de la machine. Le
serveur ssh doit connatre les clefs de toutes les machines partir desquelles
lutilisateur souhaite se connecter.
5. Q: Pour plus de scurit, il faut gnrer un couple de cls prive et publique et
envoyer la cl publique sur le serveur. Mais, est-ce que le transfert mme de
cette cl est scuris?
R: Le transfert de la clef publique na pas besoin dtre scuris: elle est
publique, donc pas besoin de la chiffrer. Au pire, si elle est corrompue, le client
ssh ne pourra pas se connecter.
6. Q: Lors de la manipulation des commandes ssh-add, ssh-agent aprs connexion
ssh.int-evry.fr, il mest impossible de transfrer ma cl DSA laide de ssh-add,
le message derreur mindique could not open a connection to your
authentification agent . Au fait comment lance-t-on un agent?
R: Vous navez probablement pas lanc lagent. Relisez nouveau les pages
man sur ces commandes et voyez lexemple de session suivant pour millot sur la
machine augite (loption -v de ssh permet de suivre les tapes successives de
lauthentification et de voir passer lagent...) :
o ssh-add -l
o Could not open a connection to your authentication agent.
o ssh-agent bash
o ssh-add -l
o The agent has no identities.
o ssh-add
o Identity added: /inf/arc/millot/.ssh/id_dsa (/inf/arc/millot/.ssh/id_dsa)
o Enter passphrase for millot@augite:
o ssh-add -l
o 1024 a8:df:.......:b9:f6:ee /inf/arc/millot/.ssh/id_dsa (DSA)
o ssh -v ssh.int-evry.fr
o OpenSSH_3.4p1 Debian 1:3.4p1-1.woody.3, SSH protocols 1.5/2.0,
OpenSSL 0x0090603f
o debug1: Reading configuration data /etc/ssh/ssh_config
o [...]
o debug1: authentications that can continue: publickey,password,keyboard-
interactive
o debug1: next auth method to try is publickey
o debug1: userauth_pubkey_agent: testing agent key
/inf/arc/millot/.ssh/id_dsa
o debug1: input_userauth_pk_ok: pkalg ssh-dss blen 434 lastkey
0x80929d0 hint -1
o debug1: ssh-userauth2 successful: method publickey
o [...]
previous next
INF, Tlcom SudParis, CSC 3001, Sept. 2013

Vous aimerez peut-être aussi