Université Ibn Tofail S6- Filières: GI, Génie Industriel, RST, Génie
Ecole Nationale des Sciences Appliquées Electrique
Kénitra A.U. 20122/2023
Systèmes d’exploitation
TP N°2
Dans le répertoire de connexion (par exemple /home/ali), créer l’arborescence suivante :
TP2
script1.sh
script2.sh
Rep1
proj1.c
proj2.c
proj1.pas
mproj.c
projp.pas
Rep2
A- Rappels :
1- Pour connaitre le shell courant, taper la commande : echo $SHELL
$SHELL est une variable d'environnement
Autres variables d’environnement :
- PATH: Liste des répertoires où chercher les exécutables des commandes externes
- USER: Nom de l'utilisateur
- HOME: Chemin du répertoire de connexion
echo $USER
echo $PATH
La commande echo permet d'afficher une ligne de texte. Essayer cette commande
2- Pour connaitre les shells disponibles, taper la commande : cat /etc/shells
Le fichier /etc/shells contient les shells disponibles
3- Pour exécuter plusieurs commandes sur une seule ligne, les unes après les autres, il suffit de les
séparer avec un point-virgule.
Syntaxe : cmd1;cmd2;cmd3;….
4- Exemples de redirection
cat >...
cat fich1 >...
ls -l > fich1
1
Pour créer un fichier et y mettre du texte, taper la commande :
cat > nomdufichier.txt
cat > fich1.txt
CTRL+D pour quitter le fichier :
Quelle est la différence par rapport à la commande cat >> fich1.txt ?
5- On peut utiliser la commande cat pour copier un ou plusieurs fichiers :
Exemples :
cat fichier1.txt > fich2.txt
cat fichier1.txt fichiers2 > fich3.txt
cat fichier1.txt fichiers2 >> fich3.txt
6- Les pipes permettent d'envoyer la sortie d'une commande (STDOUT) à l'entrée d'une autre
(STDIN). Exemples :
ls –l | grep "prog"
ls -li | wc -l
ls | wc -l
Pour afficher des fichiers de grande taille page/page, taper la commande :
cat nomdufichier.txt | more
B- Edition et visualisation de contenu/ Redirections & Pipes
1. Créer deux fichiers nommés texte1 et texte2 dans le répertoire Rep1.
2. En utilisant un éditeur de texte remplissez les deux fichiers par des phrases (plus de 4 lignes
chacun).
3. Quelle est la commande permettant d’afficher le contenu de ces deux fichiers l’un après l’autre
sur la sortie standard ?
4. afficher le nombre de lignes du fichier texte1 en utilisant le chemin absolu, et le fichier texte2
spécifié par un chemin relatif.
5. Afficher les 4 premières lignes du fichier texte1 et les 3 dernières lignes du même fichier.
6. En utilisant une seule ligne de commande, afficher les 4 premières lignes des deux fichiers
texte1 et texte2.
7. Copier le texte1 dans le répertoire Rep2 sans utiliser cp ni ouvrir d'éditeur de texte ?
8. Afficher le contenu du fichier texte1 à partir de la ligne 2, puis mettre le résultat dans un
nouveau fichier texte3 du répertoire Rep2.
9. Créer un fichier nommé fich1 contenant le mot « bonjour » en se servant de la commande
«cat» (en une seule ligne de commande).
10- Ajouter la phrase « cours système d’exploitation linux » à la fin du fichier fich1, en utilisant
la commande « echo ».
11. Afficher le contenu du dossier /etc page par page en utilisant la redirection/pipe.
12. Donner le nombre de fichiers se trouvant dans le dossier /etc en utilisant les pipe.