SE LINUX - Pour révision à l’EXAM (SOLUTION)
I. EX1
1) Citez 3 fonctions principales d’un système d’exploitation, expliquez brièvement la notion du Shell.
Fait en cours (voir Chapitre 1)
2) Citez 3 exemples de distributions Linux.
Ubuntu, Fedora, Manjaro, Arch Linux, Redhat…
3) Dans quel fichier sont stockées les informations de compte d'utilisateur et de groupe :
/etc/passwd
4) Sous Unix, et par extension Linux, tout est soit un fichier, soit un processus. C’est-à-dire que tout peut être
interfacé via le système de fichier. Citez 3 types de fichiers sous Linux : fichier ordinaire, répertoire, lien,
socket…
Citez deux types de systèmes de fichiers sous Linux (ex NTFS pour Windows)
Ext1 Ext2 Ext3 et 4, BTRFS, XFS….
5) Vous souhaitez créer un lien depuis votre répertoire personnel sur votre disque dur vers un répertoire sur un
Lecteur CD ROM. Lequel des types de liens suivants pourriez-vous utiliser ?
Lien symbolique, puisque le lien physique ne traverse pas le système de fichier.
6) Expliquez la structure du système de fichier sous Linux, Donner deux exemple de répertoires typique sous Linux.
Voir cours (Chapitre 1)
Ex : /dev : les périphériques…
1) Expliquez le fonctionnement des commandes suivantes :
CMD < file : Redirection de l’entrée de la commande CMD vers le fichier (la CMD prend le fichier comme
entrée INPUT)
CMD .> file : Redirection de la sortie standard vers le fichier file
CMD >> file : redirection de la sortie standard vers file avec concaténant (elle ne va pas écraser le contenu de
file)
CMD 2>file : Redirection de la sortie d’erreur vers file
CMD &>file : redirection de la sortie standard et d’erreur vers file
CMD1 | CMD2 : pipe = La CMD2 va recevoir le résultat (sortie) de la CMD1 comme entrée
II. Exercice 2 : Compléter le tableau suivant :
Commande Description
whoami Affiche l’identité de l’utilisateur
1/4
pwd Affiche le répertoire de travail
id Affiche l’identité l’user id et le groupe id.
su Change d’utilisateur
sudo command Exécuter une commande en tant que super-user (root)
uname –a Donne des informations sur le système
lsb_release -a Identifier la distribution linux que vous utilisez
adduser Ajoute un user
passwd Donne ou change le password d’un utilisateur.
groupdmod Change les propriétés d’un groupe
ifconfig Affiche l’adresse ip des interfaces réseaux
more file.txt Affiche le fichier file.txt page par page
Less file.txt Même chose que more
chown Changer le propriétaire d’un fichier/répertoire.
uniq –c file.txt permettant de compter le nombre d'occurrence par ligne
uniq –d file.txt N’afficher que les lignes présentes plusieurs fois
(dupliquées) dans le fichier file.txt
ln -s file file.bis Cree un lien symbolique sur file nommé file.bis
ls -lai Affiche les fichiers et répertoires avec détails en affichant aussi
ceux qui sont cachés
tail –n 7 file.txt Les 7 dernières lignes de file.txt
grep change[ds] world.txt Affiche les lignes qui contiennent changes et changed dans
world.txt
grep –i ‘linux’ opersys.txt Affiche les lignes contenant linux en ignorant la casse
grep –n ‘linux’ opersys.txt Affiche les lignes contenant la chaine linux en numérotant
chaque ligne.
grep –c ‘linux’ opersys.txt Compte le nombre de lignes contenant la chaine linux
grep "expression" -A 5 file Cherche expression avec 5 lignes après
grep "expression" -B 5 file Cherche expression avec 5 lignes avant
2/4
grep "expression" -C 2 file Cherche expression avec 2 lignes avant et 2 après
grep –v "expression" file Lignes ne contenant pas expression
diff –y file1 file2 Compare file1 et file2 colonne par colonne
Diff –q file 1 file2 Affiche seulement si ils sont diffèrent, sinon elle n’affiche
rien.
head –n 3 file.txt Les 3 1ères lignes de file.txt
tail –n +120 file.txt Affiche depuis la ligne 120 jusqu’à la fin de file.txt
tail –f /sys/logs Affiche le fichier /sys/logs en temps réels
head -25 lines.txt | tail –n +20 Affiche de la ligne 20 à 25 de lines.txt
head –n -13 lines.txt | tail –n +13 Tous sauf les 13 1er et les 13 dernières lignes
head –n -13 lines.txt | tail –n 1 Affiche la ligne 13
tail –n +13 lines.txt | head –n 1 Affiche seulement la ligne 13
( head –n 1 ; tail –n 1 ) < lines.txt Affiche La 1ere et la dernière ligne
Compte le nombre de liens symboliques
ls -l | cut -c 1| grep 'l' | wc –l
Compte le nombre d’utilisateur qui ont 850 comme groupe id
cut -d: -f4 /etc/passwd |grep -c '850'
find /etc –name "*.conf" –exec cp {} Cherche dans /etc les fichiers d’extension .conf et les copie dans
le repertoire /tmp en ajoutant l’extension .bak.
/tmp/{}.bak \;
liste des fichiers du répertoire courant modifiés dans les
find . -type f -mtime -1
dernières 24h
III. Exercice 3
1) Donner les commandes pour créer les fichiers fich1, fich2, fich3 et le répertoire REP1 qui contient deux autre
fichiers f_rep11 et f_rep21.
touch fich{1..3}
mkdir REP1 ; cd REP1 ; touch f_rep11 f_rep21
2) 2.a) - En utilisant la notation symbolique. Attribuer les droits en lecture/ écriture pour le propriétaire et en
lecture seule pour le groupe et le reste de monde sur les fichiers fich1
chmod u=rw,go=r fich1
2.b)- En utilisant la notation octale. Attribuer les droits en lecture/ écriture/exécution pour le propriétaire et en
lecture et écriture pour le groupe et aucun droit pour reste de monde sur les fichiers fich3.
Chmod 760 fich3
3/4
2.d) - Attribuer les droits en lecture/ exécution pour le propriétaire et en écriture seule pour le groupe et les
autres sur REP1 et ses fichiers.
Chmod –R 544 REP1
3) Quelles seraient les droits des fichiers et répertoire créés après l’exécution de la commande : umask 022
La règle générale c’est Droit = Droit_Max – UMASK
Application les droits dont 666-022 = 644 pour les fichiers
Et 777-022 = 755 pour les répertoires.
IV. Exercice 4 (on a fait pas mal d’exemple de find voir les même exemples (TP))
V. Exercice 5
1. Donner la commande cat pour créer le fichier resultat.txt
Nom, filière, Note, Commentaire
Ahmed, IIR, 11.5/20, fais plus d’effort !
Taha, GC, 14.0/20, Bien
Ibrahim, IFA, 15.5/20, résultat encourageant
Sara, IIR, 13.0/20, assez bien
Hanane, GC, 17.0/20, très bien
Karim, IFA, 14.5/20, Bien
Cat > resultat.txt
On tape le texte
Puis on tape (Ctr+D) pour enregistrer et sortir
2. Afficher le nombre de ligne de fichier resutlat.txt
cat resultat.txt | wc –l
3. Utiliser la commande cut pour :
a) afficher uniquement les caractères 2 à 5 de chaque ligne de fichier resutlats.txt
cut –c 2-5 resultat.txt
b) Afficher juste les filières (en supposant que les champs de resultat.txt sont séparés par des virgules (pas d’espaces)
cut -d’,‘ -f 2 < resultat.txt
c) Afficher juste les filières sans doublons
cat resultat.txt | cut -d’,‘ -f 2 | sort | uniq
d) Créer le fichier notes_noms qui contient les noms et les notes de chaque étudiant.
cut –d’,‘ –f1,3 resultat.txt > notes_noms
4- Créer un fichier resultat_ta.txt ne contenant que les lignes qui commence par « ta » dans le fichier resultat.txt
cat resultat.txt | grep ‘^ta’ > resultat_ta.txt
5- Créer un fichier reslat_sans_ta.txt ne contenant que les lignes qui ne commence pas par « ta » dans le fichier
resulatat.txt
cat resultat.txt | grep –v ‘^ta’ > resultat_ta.txt
4/4