TP2 Système







Exercice 1 : Visite de l'arborescence

Utilisez les commandes ls et cd pour explorer les répertoires du système et leur contenu.

N'oubliez pas que vous pouvez utiliser la touche Tab pour compléter les commandes et chemins.

Pour revenir à la dernière commande saisie, appuyez sur la flèche "Haut".

Vous pouvez notamment regarder ces emplacements :

  • /etc : c'est là que sont stockés les fichiers de configuration du système
  • /var/log : les fichiers de log, retrouvez et affichez celui d'Apache situé dans le répertoire /var/log/httpd avec la commande cat. Vous devrez peut être vous authentifier en tant que root avec le mot de passe 123456. Tapez su root puis le mot de passe.
  • /bin : les exécutables du système, vous devriez en reconnaître quelques uns. Affichez le contenu de l'un des fichiers, que constatez-vous ?
  • /usr/bin : d'autres exécutables




									
										cd /	[On va à la racine]
										ls 	[On liste le contenu du répertoire]
										(out)bin   dev  home  lost+found  mnt  proc  sbin     srv  tmp  var
										(out)boot  etc  lib   media       opt  root  selinux  sys  usr
										cd /etc 	[On va au répertoire /etc]
										ls -l 	[On liste son contenu]
										(out) total 2476
										(out)drwxr-xr-x.  4 root root    4096 nov.   4  2009 acpi
										(out)-rw-r--r--.  1 root root      45 oct.  16 16:07 adjtime
										(out)-rw-r--r--   1 root root    1512 avril 10  2009 aliases
										(out)-rw-r-----.  1 root smmsp  12288 oct.  11 16:49 aliases.db
										(out)drwxr-xr-x.  2 root root    4096 nov.   4  2009 alsa
										(out)...
										cd /var/log 	[On va au répertoire /var/log]
										ls -l 	[On liste son contenu]
										(out)total 1512
										(out)-rw-------. 1 root    root     41572 nov.   4  2009 anaconda.log
										(out)-rw-------. 1 root    root     23407 nov.   4  2009 anaconda.syslog
										(out)-rw-------. 1 root    root     37062 nov.   4  2009 anaconda.xlog
										(out)drwxr-x---. 2 root    root      4096 oct.  17  2009 audit
										(out)drwxr-xr-x. 2 torrent torrent   4096 mai    7  2009 bittorrent
										(out)-rw-r--r--  2 root    root      3124 nov.  16 11:38 boot.log
										(out)-rw-------. 1 root    utmp      9600 nov.  16 11:38 btmp
										(out)drwxr-xr-x. 2 root    root      4096 nov.   4  2009 ConsoleKit
										(out)-rw-------. 1 root    root     15191 nov.  16 15:01 cron
										(out)drwxr-xr-x. 2 lp      sys       4096 mars   5  2010 cups
										(out)drwxr-xr-x. 2 root    root      4096 juin  23  2009 dirmngr
										(out)-rw-r--r--  1 root    root     17647 nov.  16 11:38 dmesg
										(out)-rw-r--r--  1 root    root     18381 oct.  16 16:05 dmesg.old
										(out)-rw-------  1 root    root         0 nov.  12  2009 faillog
										(out)drwxrwx--T. 2 root    gdm       4096 nov.  16 11:38 gdm
										(out)drwx------. 2 root    root      4096 avril  7  2010 httpd
										(out)...
										su root 	[On s'identifie comme root]
										cd httpd 	[On va au répertoire httpd]
										cat access_log	 [On affiche le fichier access_log]
										(out)... 
										cd /bin 	[On va au répertoire /bin]
										ls -l 	 [On liste son contenu]
										(out)total 6376
										(out)-rwxr-xr-x. 1 root root    123 mai   15  2009 alsaunmute
										(out)-rwxr-xr-x  1 root root  35016 sept.  8  2009 arch
										(out)lrwxrwxrwx. 1 root root      4 nov.   4  2009 awk -> gawk
										(out)-rwxr-xr-x  1 root root  31956 sept.  8  2009 basename
										(out)-rwxr-xr-x  1 root root 823112 août  27  2009 bash
										(out)-rwxr-xr-x  1 root root  55504 sept.  8  2009 cat
										(out)...

									
								
Si on affiche le contenu d'un fichier binaire avec cat , on voit le code binaire de l'exécutable "traduit" en texte.


Exercice 2 : Utilisation du manuel

  1. Affichez la page du manuel pour la commande ls. Vous pouvez faire défiler le texte avec la touche espace. Pour quitter le manuel, appuyer sur "q".
  2. Testez les options de votre choix. Essayez des combinaisons d'options. Que fait ls -lh ? ls -al ?
  3. Dans le manuel, cherchez les pages qui se rapportent à "network". Est ce que "network" est un mot-clé efficace ? Qu'est ce qu'un ping ?
  4. Cherchez maintenant les pages se rapportant à "disk space". Quelle commande permet de visualiser l'espace libre ? Testez-la.
  5. Toujours en cherchant dans le manuel, retrouvez la commande qui permet de parcourir l'arborescence pour trouver un fichier par son nom.




									
										man ls [La commande pour afficher la page du manuel pour ls]
										man -k "network" [On cherche le mot network dans le manuel et on trouve trop de résultats]
										man ping [La page du manuel pour la commande ping]
										man -k "disk space" [On cherche le mot disk space dans le manuel]
										df [df permet de consulter l espace libre]
										(out)Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
										(out)/dev/mapper/vg_fc11sk1-lv_root
										(out)                       7277156   4908276   1999216  72% /
										(out)/dev/sda1               198337     29234    158863  16% /boot
										(out)tmpfs                  1551116       948   1550168   1% /dev/shm
										man -k "hierarchy" [On cherche les commandes qui ont un rapport avec l'arborescence = hierarchy en anglais. On trouve la commande find.]
									
								


Exercice 3 : Manipuler les fichiers

  1. Placez vous dans votre répertoire personnel ~. Notez que le symbole ~ est un raccourci vers votre répertoire personnel /home/etudiant.
  2. Créez le répertoire tp1_vos_initiales avec la commande mkdir.
  3. Placez vous dans le répertoire tp1_vos_initiales.
  4. Créez le fichier index.html avec la commande touch.
  5. Créez un répertoire test.
  6. Copiez le fichier index.html dans le répertoire test avec la commande cp.
  7. Supprimez le fichier index.html du répertoire tp1_vos_initiales avec la commande rm.
  8. Que vient-on de faire ? Quelle commande aurait-on pu utiliser ?
  9. Éditez le fichier index.html dans test avec l'éditeur nano :
    1. Écrivez votre nom dans une balise h1
    2. Écrivez votre âge dans un paragraphe
  10. Déplacez le fichier index.html dans le répertoire parent avec la commande mv.
  11. Vérifiez le contenu du fichier index.html en l'affichant avec la commande cat.
  12. Faîtes un schéma de l'arborescence à partir du répertoire tp1_vos_initiales.




									
										cd ~ [On se place dans notre répertoire personnel]
										mkdir tp1_cc 	[On crée le répertoire tp1_cc]
										cd tp1_cc 	[On va dans le répertoire tp1_cc]
										touch index.html 	[On crée le fichier index.html]
										mkdir test 	[On crée le répertoire test]
										cp index.html test/ 	[On copie index.html dans test]
										rm index.html 	[On supprime index.html, on aurait donc pu simplement déplacer plutôt que copier puis supprimer]
										nano test/index.html 	[On édite index.html qui est dans test avec l'éditeur nano]
										mv test/index.html .	[On déplace le fichier index.html qui est dans test dans le répertoire courant "."]
										cat index.html 	[On affiche index.html]
										ls -l 	[On liste le contenu du répertoire]
									
								
À la fin, on a le répertoire test et le fichier index.html dans le répertoire tp1_cc.


Exercice 4 : Chemins

  1. Placez vous dans votre répertoire tp1_vos_initiales
  2. Dans quel répertoire se situe-t'il ? Remontez la hiérarchie et déduisez son chemin absolu.
  3. Quel est le chemin relatif vers le répertoire test (depuis tp1_vos_initiales) ? Le chemin absolu ?
  4. Quel est le chemin absolu vers le répertoire etc situé à la racine ? Le chemin relatif (depuis tp1_vos_initiales) ?
  5. Il existe 3 façons différentes d'utiliser la commande cd pour vous rendre dans votre répertoire personnel, lesquelles ?




  1. Pour se placer dans tp1_cc : cd ~/tp1_cc
  2. tp1_cc est dans le répertoire étudiant. Son chemin absolu est /home/etudiant/tp1_cc
  3. Chemin relatif vers test = test
    Chemin absolu = /home/etudiant/tp1_cc/test
  4. Chemin absolu vers etc = /etc
    Chemin relatif = ../../../etc
  5. Les trois façons de se rendre dans son répertoire personnel sont : cd /home/etudiant, cd ~ et cd.


Exercice 5 : Jokers

  1. Placez vous dans le répertoire /etc.
  2. À l'aide de la commande ls, listez tous les éléments du dossier /etc avec tous leurs attributs. Identifiez le contenu de chaque colonne. Que signifie la première ligne ?
  3. À l'aide de la commande ls et des caractères jokers * et ?, listez les fichiers qui possèdent une extension
  4. Listez les fichiers qui possèdent une extension de trois lettres
  5. Listez tous les fichiers qui commencent par a-
  6. Listez tous les fichiers qui ont l'extension .conf
  7. Listez tous les fichiers dont le nom est composé de 4 lettres
  8. Listez tous les fichiers dont le nom est composé d'au moins 4 lettres




									
										cd /etc [On va dans /etc]
										ls -l 	[la première ligne correspond au nombre de blocs de 1Ko occupés]
										ls *.* 	[Tous les fichiers dont le nom est composé d une suite de caractères quelconque puis d un point puis d une suite de caractères quelconques]
										ls *.??? 	[Une suite de caractères quelconque, un point, 3 caractères]
										ls a* 	[Un a suivi d une suite de caractères]
										ls *.conf 	[Une suite de caractères, un point, et conf]
										ls ???? 	[Quatre caractères]
										ls ????* 	[Quatre caractères suivis d une suite de caractères]

									
								


Exercice 6 : Recherche dans les fichiers

  1. Placez vous dans votre répertoire tp1_vos_initiales
  2. On va récupérer les pages HTML du cours avec la commande wget. Entrez wget http://www.chloecabot.com/mmi/M1203/synthese_reseaux.html.
  3. Listez le contenu du répertoire. Que voyez-vous ?
  4. Récupérez les pages :
    • http://www.chloecabot.com/mmi/M1203/synthese_unix.html
    • http://www.chloecabot.com/mmi/M1203/index.html
    • http://www.chloecabot.com/mmi/M1203/TP1_Reseaux.html
    • http://www.chloecabot.com/mmi/M1203/TP2_Systeme.html
    en procédant de la même façon.
  5. Affichez le contenu de synthese_reseaux.html avec la commande cat. Est-ce pratique ?
  6. Affichez maintenant le même fichier avec la commande more. Mieux ?
  7. Affichez seulement les 20 premières lignes de synthese_reseaux.html avec la commande head et son option n.
  8. Avec la commande wc, affichez le nombre de lignes de chaque fichier HTML. Lequel contient le plus de lignes ?
  9. Affichez les fichiers HTML du répertoire dans lesquels apparaît le mot "réseau" avec la commande grep.
  10. Dans le fichier synthese_unix.html, combien de fois apparaît le mot "Unix" ?




									
										cd ~/tp1_cc
										wget http://www.chloecabot.com/mmi/M1203/synthese_reseaux.html
										wget http://www.chloecabot.com/mmi/M1203/synthese_unix.html
										wget http://www.chloecabot.com/mmi/M1203/index.html
										wget http://www.chloecabot.com/mmi/M1203/TP1_Reseaux.html
										wget http://www.chloecabot.com/mmi/M1203/TP2_Systeme.html
										cat synthese_reseaux.html 	[On affiche synthese_reseaux.html avec cat]
										more synthese_reseaux.html 	[On affiche synthese_reseaux.html avec more : c'est mieux car le fichier est long on peut naviguer dans le contenu avec la touche espace]
										head -n 20 synthese_reseaux.html 	[On affiche seulement 20 lignes de synthese_reseaux.html]
										wc -l *.html 	[On affiche le nombre de lignes de tous les fichiers avec l extension html]
										grep "reseau" *.html 	[On cherche le mot "reseau" dans tous les fichiers avec une extension html]
										grep -c "Unix" synthese_unix.html 	[On affiche le nombre d occurences de "Unix" dans synthese_unix.html]
									
								


Exercice 7 : Redirections

  1. Placez vous dans votre répertoire tp1_vos_initiales
  2. Écrivez une phrase de votre choix dans le fichier log.txt en utilisant une redirection
  3. Ajoutez une nouvelle phrase à ce fichier sans l'écraser, en utilisant une redirection.
  4. Placez vous dans le répertoire /etc.
  5. Listez les 20 premiers fichiers du répertoire /etc à l'aide des commandes ls et head
  6. Pouvez-vous afficher le nombre de fichiers sur lesquels vous avez les droits en lecture et écriture, et les autres utilisateurs seulement en lecture ?
  7. Retournez dans votre répertoire tp1_vos_initiales
  8. Ré-utilisez la commande trouvée à la question 6 pour écrire le nombre de fichiers avec ces droits dans /etc dans le fichier log.txt
  9. Ajoutez "The end." au fichier log.txt




									
										cd ~/tp1_cc
										echo "turlututu" > log.txt 	[On écrit turlututu dans log.txt]
										echo "chapeau pointu" >> log.txt 	[On ajoute chapeau pointu dans log.txt]
										cd /etc 	[On va dans /etc]
										ls -l | head -n 20 	[On liste tous les éléments du répertoire et, grâce au pipe |, on passe la liste à la commande head pour en afficher seulement 20]
										ls -l | grep -c "rw-r--r--" 	[On liste tous les éléments et on passe la liste à grep qui va compter les lignes avec le motif rw-r--r--]
										cd ~/tp1_cc
										ls -l /etc | grep -c "rw-r--r--" >> log.txt 	[Il faut ajouter /etc à la commande ls puisqu'on a changé de répertoire, ajouter la redirection vers le fichier à la fin]
										echo "The End." >> log.txt 	[On ajoute The End. dans log.txt]