0% ont trouvé ce document utile (0 vote)
143 vues3 pages

TP1 Rappels

Ce TP présente les commandes de base d'UNIX et du shell Bash. Il est divisé en plusieurs parties abordant des commandes comme cd, ls, rm, find, grep, ainsi que les redirections, variables d'environnement et tubes.

Transféré par

Cheikhouna Mbacke
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
143 vues3 pages

TP1 Rappels

Ce TP présente les commandes de base d'UNIX et du shell Bash. Il est divisé en plusieurs parties abordant des commandes comme cd, ls, rm, find, grep, ainsi que les redirections, variables d'environnement et tubes.

Transféré par

Cheikhouna Mbacke
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UE32 : Informatique 1 Module 3206 : Automatisation des tâches d’administration

TP 01 : Commandes de base UNIX


P. Berthelier – P. Martini

Résumé : L’objectif de ce travail est de revoir les commandes de base d’UNIX et les bases du shell Bash, qui ont été étudiées
au premier semestre au sein du module M1105 « Base des systèmes d’exploitation ».

Principe de fonctionnement…
La série de TP comporte 5 séances de 4 heures en groupe de TP.
Vous travaillerez individuellement chacun des TP proposés, afin de vous approprier au mieux les différentes notions
présentées.
Vous serez évalué à chaque séance, sur l’utilisation de l’outil informatique ainsi que sur l’interprétation des
résultats obtenus sous forme orale.
Les différents TP constituant la série sont progressifs au niveau des notions mises en œuvre, afin que vous puissiez
capitaliser les informations demandées.
L’accès au TP suivant ne se fera qu’après compréhension de l’ensemble des notions présentées dans le TP
précédent. Cela signifie que vous n’avancerez pas tous au même rythme, et que vous serez suivis individuellement
par l’enseignant.
La note finale correspondra à une moyenne pondérée entre la participation aux différentes séances de TP, les
notes des évaluations successives des TP et la note du partiel final.
L’appel à l’enseignant pour vérification ne doit se faire qu’en ayant compris la question posée, et en expliquant
la démarche retenue pour y répondre.

Attention…
UNIX fait la différence entre les majuscules et les minuscules. Les commandes de base s’écrivent en minuscules.
Séparez toujours la commande de ses arguments par un ou plusieurs espaces (par exemple, écrire ls -l et non pas
ls-l).

Organisation…
Pour gagner du temps lors des différents TP, organise vos fichiers. faites une sauvegarde sur clé USB ou sur le cloud.
Vous devez avoir dans votre répertoire de connexion les répertoires suivants :
— bin : scripts et commandes personnels ;
— tmp : essais temporaires, à effacer régulièrement.
Évitez toujours de laisser des fichiers dans votre répertoire de connexion. Utilisez les sous-répertoires. Cette
discipline vous fera gagner en efficacité à long terme.

I. Commandes de base
Question 1 Révisez l’utilisation des commandes cd, mkdir, ls, rmdir, rm, cp, man, date, pwd, mv, echo.
Pour chacune des commandes suivantes, décrivez en une phrase ce qu’elle fait et indiquer le rôle des options indiquées
entre crochets (vous devrez connaître ces options par cœur) :
— cd
— mkdir [-p]
— rmdir
— pwd
— man
— ls [-l] [-a] [-R] [-1]
— rm [-i] [-r]
— cp [-i] [-r] [-a]
— mv [-i]
— date
— echo [-n]
Question 2 La commande man permet de chercher un mot clef interactivement lors de la visualisation du manuel d’une
commande (qui se fait en réalité par l’intermédiaire du programme less). La recherche est lancé en appuyant sur la touche
/ (voir le manuel de la commande less pour plus de détails). Chercher dans le manuel de less le mot « pattern ».

I.U.T. de Roanne – Département Réseaux et Télécommunications P. Berthelier – P. Martini


UE32 : Informatique 2 Module 3206 : Automatisation des tâches d’administration

Question 3 En utilisant la commande ls et ses différentes options (voir man ls), visualiser le contenu de votre répertoire
courant de la façon suivante :
— Liste simple
— liste montrant les fichiers cachés (ceux dont le nom commence par « . »). Que représentent les 2 entrées « . » et
« .. » ?;
— liste avec descriptif complet de chaque référence (droits, nombres de liens, dates, taille, user, group…) ;
— liste avec descriptif complet et avec un format plus compréhensible concernant la taille des fichiers ;
— liste récursive (descend dans les sous-répertoires) ;
— liste par ordre chronologique (la commande touch peut servir à changer la date de modification d’un fichier) ;
— liste par date d’accès au lieu de la date de création. Pour constater un changement, utiliser la commande cat « nom
de fichier » pour modifier la date du dernier accès ;
— liste simple du contenu avec affichage du type de fichier (répertoire /, lien symbolique @, exécutable *) ;
— liste avec numéro inode. Vous pouvez vérifier en créant avec la commande ln un lien physique vers un fichier existant.

II. Redirections
La redirection de la sortie d’une commande consiste à envoyer ce qu’elle affiche dans un fichier (l’affichage est alors
supprimé). Pour rediriger une commande vers le fichier :

$ commande > fichier

Attention, le fichier indiqué est alors supprimé (écrasé, remplacé). Si vous voulez ajouter à la fin d’un fichier existant,
utilisez » :

$ commande >> fichier

Question 4 À l’aide d’une redirection et de la commande echo, créez un fichier contenant la ligne de texte : « Bonjour ».
Question 5 Ajouter la ligne de texte « Hello » au fichier précédemment créé.
Question 6 Que fait la commande wc ? Et wc -l ?
Question 7 À l’aide des commandes ls et wc (avec options si besoin) et d’une redirection vers un fichier créé dans le
répertoire /tmp, faire afficher le nombre total de fichiers (ou répertoires) présents dans le répertoire /etc.
Question 8 Faire la même chose en une seule ligne avec un tube (|).

III. Recherche d’informations


Trouvez les informations suivantes et notez-les sur votre compte- rendu :
Question 9 Quelle est l’adresse IP de votre machine ?
Question 10 Quelle est l’adresse IP du DNS principal ?
Question 11 Quelle est le nom de votre machine ?
Question 12 Quelle est la mémoire vive installée ?
Question 13 Quelle est votre répertoire de connexion (HOME) ?
Question 14 Quelle est l’espace disque disponible sur ce répertoire ?

IV. Commande find


Question 15 Afficher (avec find) les noms de tous les fichiers du répertoire /usr ayant une taille supérieure à 250 ko.
Question 16 Afficher les noms de tous les fichiers du répertoire /var ayant été modifiés après la date de création de votre
répertoire de connexion.
Question 17 À l’aide des commandes find et grep, afficher toutes les lignes contenant le mot « include » dans les fichiers
d’extension « .h » situés dans le répertoire /usr/include et tous ses sous-répertoires.

V. Méta-caractères
Python est un langage interprété très utilisé pour l’administration système (voir http : //[Link]). On le lance
en mode interactif via la commande python. La commande python [Link] exécute le script python contenu dans le
fichier [Link].
Question 18 Devinez ce que fait le programme Python suivant :
import sys
n = int ( [Link][1] )
for i in range (n):
f = open ( 'f' + str(i), 'w' )
[Link] ( str(i) + '\n' )
[Link] ()

I.U.T. de Roanne – Département Réseaux et Télécommunications P. Berthelier – P. Martini


UE32 : Informatique 3 Module 3206 : Automatisation des tâches d’administration

Question 19 Créez un fichier [Link] dans votre répertoire de TP contenant le programme précédent, puis lancez la
commande python [Link] 16. Qu’observez-vous ? Quelle est la taille en octets des fichiers créés ? Pourquoi ?
Question 20 À l’aide d’une seule commande shell, créez un fichier « tous » dont le contenu est la concaténation des
fichiers précédemment créés.
Question 21 Quelle est la taille du fichier tous ? Combien de lignes comporte-t-il ?
Question 22 À l’aide des commandes grep et wc, afficher le nombre de lignes du fichier « tous » qui contiennent le chiffre
1.
Question 23 À l’aide des commandes cut et sort, afficher la liste des noms de login définis sur votre système, triée par
ordre alphabétique (voir le fichier /etc/passwd).
Question 24 Afficher les noms de tous les fichiers de /usr/include qui commencent par une lettre, se terminent par un
chiffre, comportent 4 caractères et dont l’extension est « .h ».
VI. Variables d’environnement en shell (bash)
Question 25 Afficher la liste des variables d’environnement. Quel genre d’informations trouve-t- on ?
Question 26 Le shell recherche les commandes dans la liste des répertoires indiqués dans la variable d’environnement
PATH. Quelle est la valeur de PATH ?
Question 27 Créer un exécutable (par exemple un script shell) dans votre répertoire ∼/bin.
Question 28 Ajouter le répertoire ∼/bin à votre PATH.
Question 29 Vérifier que vous pouvez maintenant lancer l’exécution de votre script quel que soit le répertoire courant.
Question 30 Pour modifier le PATH de façon permanente, placer la commande de modification dans le fichier de configu-
ration de votre shell (∼/.bashrc). À l’avenir, vous pouvez placer vos exécutables préférés dans votre répertoire ∼/bin.
VII. Propagation des variables d’environnement
Étudier la séquence de commandes shell suivante et commentez :
$ echo \$ZORGLUB
$ export TRUC=machin
$ TRAC=22
$ echo \$TRUC \$TRAC
$ bash
$ echo \$TRUC
$ echo \$TRAC
$ export TRUCBIS=hoho
$ echo \$TRUCBIS
$ exit
$ echo \$TRUC
$ echo \$TRUCBIS
Avec la commande find, écrire une commande qui affiche le nombre fichiers présents dans un répertoire donné et tous
ses sous-répertoires ainsi que leurs descendants.
VIII. Révision sur les tubes
Question 31 Quelle est la différence entre tee et cat ?
Question 32 Que font les commandes suivantes :
$ ls | cat
$ ls -l | cat > liste
$ ls -l | tee liste
$ ls -l | tee liste | wc -l
IX. Processus
La commande ps affiche la liste des processus lancés sur le système. ps accepte de nombreuses options, les unes
permettant d’indiquer l’ensemble de processus à afficher (basé sur la commande, l’utilisateur ou d’autres caractéristiques) :
— ps -ef liste tous les processus ;
— ps -f -u user liste les processus de l’utilisateur indiqué ;
— ps -auxww liste tous les processus, format long avec la commande complète.
Question 33 Combien de processus sont lancé sur votre système ?
Question 34 Quels processus vous appartiennent ?
Question 35 Combien de processus appartiennent à root ?
Question 36 Quel est le processus qui a le plus petit PID ?
Question 37 On peut afficher des informations actualisées en temps réel avec la commande top. On la quitte en tapant
« q ». Quelle est la mémoire disponible sur votre système ? Quel processus occupe le plus le processeur ?
Question 38 Décrire ce qu’affiche la commande pstree.

I.U.T. de Roanne – Département Réseaux et Télécommunications P. Berthelier – P. Martini

Vous aimerez peut-être aussi